私はCharlesProxyを使用してWebトラフィックを監視しています(具体的には、iOSおよびAndroidアプリのAPIトラフィックを調べています)。127.0.0.1:8080でローカルに実行されているAPIサイトがありますが、そのトラフィックはCharlesProxyに表示されません。私は設定をいじっていますが、それを機能させることができないようです-何かアイデアはありますか?
3 に答える
localhost.charlesproxy.com
の代わりに使用してくださいlocalhost
。これは、charlesproxy.com DNSで127.0.0.1を指すように設定されており、常にそうなります。また、文字通りlocalhost
ではないため、OSのハードワイヤードロジックをバイパスする必要localhost
があります。
を使用することもできますがlocal.charles
、これはCharlesが実際に実行されており、プロキシとして使用している場合に限ります。だから私は解決策を好みlocalhost.charlesproxy.com
ます。
詳細はこちら:https ://www.charlesproxy.com/documentation/faqs/localhost-traffic-doesnt-appear-in-charles/
Webトラフィックにアクセスするときにプライベートネットワークアドレス(例:192.168.x.xxx、10.xxx、172.16.xx)を使用するか、hostsファイルでホスト名を127.0.0.1にマップすることができます。
編集:APIが127.0.0.1でのみリッスンしている場合は、hostsファイルを変更する必要があることに注意してください。なんらかの理由でホストファイルを変更できない場合は、サービスに0.0.0.0:8080をリッスンさせてから、プライベートネットワークアドレスを使用して要求するという別のオプションがあります。
同じ問題が私にも起こりました。「localhost」の代わりにコンピューターの名前を使用すると、問題が解決し、Charlesで表示できるようになります。たとえば、私のコンピュータの名前は「sukwon」で、 「 http://127.0.0.1:3000」ではなく「 http://sukwon.local:3000 」を使用して解決しました。