我不能讓查爾斯與Alamofire工作,我總是得到:iOS版 - 使用查爾斯Alamofire和SSL
SSLHandshake:遠程主機關閉握手 期間連接您可能需要配置您的瀏覽器或應用信任查爾斯根證書。請參閱幫助菜單中的SSL代理。
我確實在iOS模擬器中安裝了Charles根證書,並添加了連接到SSL代理設置的主機。你有任何進一步的建議? 非常感謝!
我不能讓查爾斯與Alamofire工作,我總是得到:iOS版 - 使用查爾斯Alamofire和SSL
SSLHandshake:遠程主機關閉握手 期間連接您可能需要配置您的瀏覽器或應用信任查爾斯根證書。請參閱幫助菜單中的SSL代理。
我確實在iOS模擬器中安裝了Charles根證書,並添加了連接到SSL代理設置的主機。你有任何進一步的建議? 非常感謝!
這可能是由於在iOS版9.除了應用運輸保安要允許您需要將以下添加到您的應用程序的Info.plist的SLL交通查爾斯訪問:
(從Charles' FAQ on the subject)
注意:您可能只想做調試的目的,而不是將您的應用程序與ATS基本禁用。
除了Thor描述的NSAppTransportSecurity
之外,您還必須信任該證書。如果你去查爾斯的「幫助」菜單,你會看到一個「SSL代理」子菜單。當我從該子菜單中選擇「安裝Charles Root Certificate」和「在iOS模擬器中安裝Charles Root證書」時,我可以成功代理https請求。顯然,我還將相關主機添加到「代理」 - 「SSL代理設置」(例如,端口爲*
和完整的主機名)。
在iOS11上,我錯過了這個額外的步驟。
在Settings
應用,
導航到General
。 About
。 Certificate settings
。
啓用Charles Proxy SSL Proxying
開關。
這是正確答案 – Josh