我阅读了有关此主题的所有主题,并且使用genymotion设置查尔斯的说明完全相同:
http://rexstjohn.com/using-genymotion-charles-proxy/
In your Genymotion Android emulator…
Settings -> Wifi -> Press and hold your active network
Select “Modify Network”
Select “Show Advanced Options”
Select “Proxy Settings -> Manual”
Set your Proxy to: 10.0.3.2 (Genymotion’s special code for the local workstation)
Set your Port to: 8888
Press Save
我的设置是:
我不确定说明是否陈旧但我遇到的问题是从我的genymotion模拟器流出的流量记录在Charles Proxy中,但它没有到达我的localhost服务器。我在我的服务器和我的应用程序之间没有使用任何SSL加密。
这是我在genymotion wifi屏幕内的设置:
这就是我的Charles Proxy的样子 - 你可以看到它是“连接到远程主机”。它永远连接,然后最终在我的Android应用程序端给我一个503错误,没有任何返回:
如果我关闭Charles Proxy,该应用程序连接我的localhost服务器没有问题,所有调用都成功返回。我认为这与Charles有关,它阻止我的应用程序与我的localhost服务器进行通信。
在邮递员中,如果我尝试查询我的Android应用程序试图查询的同一个网址,它会成功运行,结果也会成功记录在查尔斯内:
http://localhost:8443/ + my api endpoint **OR** http://localhost.charlesproxy.com:8443/ + my api endpoint
在Postman中查询和在我的Android应用程序中查询之间的唯一区别是我的应用程序点击此URL 10.0.3.2而不是因为我正在使用模拟器:
http://10.0.3.2:8443/ + my api endpoint
我还在我的访问控制设置中添加了10.0.3.2:
我可以进入我的android genymotion模拟器互联网浏览器并搜索像www.msn.com这样的网站,它将成功返回并在查尔斯内记录结果,但我不是在寻找或准备支付50美元用于记录我的Android浏览器流量的工具。我需要它来使用我的Android应用程序,以便我可以调试我的应用程序。我不知道如何解决这个问题,这里有人知道我是否遗漏了什么?
修改
如果有人想知道,我在Charles'常见问题解答中看过这篇关于Localhost流量未出现在Charles中的帖子:
https://www.charlesproxy.com/documentation/faqs/
但是我不能将Genymotion使用的10.0.3.2更改为http://localhost.charlesproxy.com/,所以我认为这不会解决我的问题。
答案 0 :(得分:1)
所以我现在正在玩Genymotion模拟器和Charles,我实际上设法让Charles记录本地主机流量。
类似于我通过Postman查询的方式:
http://localhost.charlesproxy.com:8443/ + my api endpoint
我刚刚将所有api端点的主机部分更改为:http://localhost.charlesproxy.com:8443/
并且它有效。