【问题标题】:Charles proxy SSL connections won't show hostnames, only ipsCharles 代理 SSL 连接不会显示主机名,只有 ips
【发布时间】:2016-02-16 22:10:58
【问题描述】:

我正在使用 Charles 调试我的应用程序 - 在 android 和 ios 上。 在我在设备上安装 Charles CA 之后,在安全连接上发生了一些相当奇怪的事情。

在IOS上,Charles会在连接列表中显示对主机名的请求,看起来很棒。

但是,在 android 上,它只会显示 IP。我必须打开请求并检查主机名标头以找出主机名 - 这很烦人。

有什么办法吗?

【问题讨论】:

    标签: ios debugging ssl ip charles-proxy


    【解决方案1】:

    发生这种情况是因为 Android 模拟器是一个虚拟机,而不仅仅是像 iOS 模拟器那样的 mac os 进程。 为了能够使用 Android 模拟器(在 Android 8.0 上测试)查看主机名,您必须转到设置 -> 网络和 Internet -> 移动网络 -> 接入点名称 -> 单击接入点并将代理和端口属性设置为您的charles 本地地址(您可以在 Charles -> 帮助 -> 本地 IP 地址上找到它)

    更新:

    Google 已在最新版本的 Android 模拟器上对此进行了更改。现在您必须添加一个新的 APN。只需创建一个任意名称的新 APN,并将 APN 设置为“http://”,代理为 10.0.2.2,端口为 8888

    【讨论】:

    • 用最新的android sdk模拟器,除了上面回答的步骤外,还需要关闭飞行模式才能使接入点代理生效。这是由于最新的 sdk AFAIK 中的错误/问题
    • 为什么点击接入点名称后,设置全部禁用?无法编辑代理和端口属性
    • Google 在最新版本的 Android 模拟器上对此进行了更改。现在您必须添加一个新的 APN。只需创建一个任意名称的新 APN,并将 APN 设置为“http://”,代理为 10.0.2.2,端口为 8888
    • 为我工作。谢谢!
    【解决方案2】:

    API 25+ 的模拟器有一个名为 AndroidWifi 的模拟 wifi 接入点: https://developer.android.com/studio/run/emulator#wi-fi

    转到您的模拟器wifi设置,连接到AndroidWifi,然后按住它并选择修改网络。输入您的 Charles Proxy 主机名和端口。它应该连接到代理,您应该会在请求中看到域名。

    不要使用模拟器扩展控件中提供的代理设置。

    【讨论】:

    • 你的绿勾在哪里!这个 APN 东西对我根本不起作用。
    • 完美!就像在真实设备上使用 Charles 一样。谢谢你:)
    • 非常感谢,我的 APN 在 AS 3.5 和 android 9 模拟器上无法正常工作。
    【解决方案3】:

    您需要设置代理设置(IP 和端口),而不是使用模拟器侧边栏,而是在模拟器上运行的 Android 的实际设置中。只需长按名为AndroidWifi 的Wifi 网络,然后点击Modify network。将IP设置为本地计算机的IP,端口设置为8888。无需设置APN!

    【讨论】:

      猜你喜欢
      • 2018-08-13
      • 2016-11-11
      • 2010-10-14
      • 2016-03-21
      • 1970-01-01
      • 2015-01-25
      • 1970-01-01
      • 2017-05-05
      相关资源
      最近更新 更多