所以我设置了charles proxy来监控流出android模拟器的流量。
现在,当我在Android浏览器中打开一个网站,例如:- google.com,我在charles proxy中看到google.com。
但当我在模拟器中打开一个应用程序(比如instagram应用程序)时,如果该应用程序进行了一些网络调用,我在charles proxy上看到的是ip地址,而不是域名。
正因为如此,应用程序会给我一个出错的错误,等等。
谁能告诉我如何更改android模拟器的dns配置,使其发送主机名而不是IP地址?
或任何其他解决此问题的方法。
谢谢
发布于 2017-11-25 19:39:18
在启动仿真器时,可以从命令行使用-http-proxy选项配置代理。在这种情况下,您可以使用以下格式之一指定代理信息:
http://<machineName>:<port>或
http://<username>:<password>@<machineName>:<port>-http-proxy选项强制模拟器对所有传出TCP连接使用指定的HTTP/HTTPS代理。当前不支持UDP的重定向。
或者,您可以将环境变量http_proxy定义为要用于的值。在这种情况下,您不需要在-http-proxy命令中指定的值-模拟器在启动时检查http_proxy环境变量的值,并自动使用其值(如果已定义)。
您可以使用-debug-proxy选项来诊断代理连接问题。
您可以在此处获得有关此主题的更多详细信息:
https://developer.android.com/studio/run/emulator-networking.html发布于 2016-01-03 13:02:51
没有办法改变android模拟器的dns配置,它可以获得主机名而不是IP地址,使用代理的唯一选项是在其他so线程here上解释。
我确信这些数据包来自instagram,并且/或者他们出于安全目的使用了防火墙。
发布于 2016-01-04 15:30:09
https://stackoverflow.com/questions/34438182
复制相似问题