Reputation: 869
Recently I want to use Charles to help me debug my web code. However, when I logged out response, it was unreadable. How could I deal with that? I need to see those actual text in response.
Upvotes: 56
Views: 66533
Reputation: 1
First right click on the URL you want to decrypt to enable SSL Proxying Enable proxy
Go to Proxy -> SSL Proxying Setting -> Check if Enable SSL Proxy is enabled and there is the field which you just right-click to enable proxy
Go to Keychain, search for Charles and change the field trust to "Always trust"
Restart your Charles and voila.
Upvotes: 0
Reputation: 3604
If the response text is unreadable, it means that the SSL Proxying doesn't set up properly. Check the following steps to fix it:
If it's too complicated, you can checkout Proxyman, which has a feature to do all steps automatically by going Certificate Menu -> Install Certificate on macOS
Upvotes: 4
Reputation: 4477
solution one: Simple enable ssl proxying on right click for specific url:
solution two: Setting all the port 443 request/response, using SSL Proxying.
step 1: click the menu Proxy > SSL Proxying Settings
step 2: select tab SSL Proxying > add > Host input "*", Port input "443" > OK > OK
step 3: Restart Charles. Bingo.
Upvotes: 13
Reputation: 18274
For me no one answer sufficed,
But even after doing that I found for few hosts/urls it was not decrypting, so I had to do this: https://stackoverflow.com/a/49147470/865220
Now my pip install <any package>
stopped working because of this, so I had to do this:
https://stackoverflow.com/a/49910594/865220
Upvotes: 0
Reputation: 117
You must intalls a SSL certificate on your device. Be sure that you are connected to Charles proxy and the try to go to the followin url: chls.pro/ssl (if you are using an Android device you can use Chrome and if you are using an iOS device you must use Safari)
You will be able to add the certificate on your computer as well, if you don't do it, you will not be able to use your browser when Charles is working.
Upvotes: 2
Reputation: 183
Steps in this video helped me to solve this problem https://www.youtube.com/watch?v=_tPvZjHPSC8
Basically you need to download a certificate to your device(simulator). Open safari and go to chls.pro/ssl and install it. Then on the device go to settings->general->about->Certificate Thrust settings and enable the certificate. Then enable SSL proxy in Charles by going to Proxy tab->SSL proxy and voila.
Upvotes: 9
Reputation: 61834
Simple enable ssl proxying on right click for specific url:
Upvotes: 35
Reputation: 899
If your are running Charles v3.10 or later, please do the follow steps:
Secure Sockets Layer(SSL)
to Always Trust
Set the mobile phone
's WiFi
's Server
same with the Mac IP Address
Restart your Charles
Upvotes: 5
Reputation: 2807
Make sure you install a certificate on to your device .. or it will not work.
Upvotes: 0
Reputation: 103
you'll often see what looks like gibberish there because the response hasnt completed. (Note that the connection you highlighted has not completed and is not providing a 200 HTTP Status.) If you select Hex on the bottom of the Charles window, you can view what was completed in Hexadecimal. It can be translated but the text view you are looking at for incomplete calls like that is always going to look like gibberish.
Try to view the call's response again when it is completed.
If you're having trouble getting calls to complete. That is a separate issue. Try the SSL connection and install a certificate like the others commented about. That can be found on Charles toolbar Help>SSL Proxying > Charles Root Certificate Help.
Upvotes: 1
Reputation: 439
In Charles, click Help -> SSL Proxying and then choose Install Charles Root Certificate either for your computer or a mobile device.
Upvotes: 5