使用 Charles 调试对具有异常端口号的端点的 HTTP 请求,该端点需要代理才能访问

Posted

技术标签:

【中文标题】使用 Charles 调试对具有异常端口号的端点的 HTTP 请求,该端点需要代理才能访问【英文标题】:Using Charles to debug HTTP request to an endpoint with unusual port number which needs a proxy to be accessible 【发布时间】:2017-07-19 18:37:19 【问题描述】:

我使用 Charles 作为代理来调试一些 HTTP 请求。但是,其中一个端点是 www.myendpoint.com:9064,我需要一个代理 (myproxy.com:80) 来访问它。当我尝试使用 charles 对其进行调试时,它无法连接到该端点。这种情况需要做额外的配置吗?

【问题讨论】:

我不知道我是否清楚地理解了您的情况...据我了解,您正在尝试通过代理 (myproxy.com:80) 调试对 www.myendpoint.com:9064 的 HTTP 请求),因此要访问此端点,您需要将浏览器(或系统)代理配置为 myproxy.com:80,显然您无法通过 Charles 访问它,因为它会更改代理,对吧? 是的,你是对的。我在我的代码上配置了代理,因为它需要访问该端点,但查尔斯可能正在替换它。 【参考方案1】:

Charles Proxy 会自动尝试配置您系统的代理 (in Windows and macOS),因此许多应用程序(例如浏览器)会自动使用它。

根据您在评论中所说的,您似乎正在开发一个应用程序,我猜您将其配置为使用myproxy.com:80 代理。 在这种情况下,您需要做的是配置您的应用程序以使用 Charles Proxy,这通常在您的 localhost:8888, 而不是 myproxy:80. 打开

这将使您的应用程序通过 Charles 代理访问 Internet,因此您的 HTTP 请求将开始出现在 Charles 概览窗口中,但请求仍无法到达 www.myendpoint.com:9064。 为此,您需要在 Charles 上的 External Proxy Settings (Proxy -> External Proxy Settings...) 上配置您的代理值 (myproxy.com:80)。

这将使 Charles 能够到达您的端点。

【讨论】:

哪些cmets?

以上是关于使用 Charles 调试对具有异常端口号的端点的 HTTP 请求,该端点需要代理才能访问的主要内容,如果未能解决你的问题,请参考以下文章

APP端调试抓包工具Charles和HTTP Catcher的使用

使用charles做手机联机测试

charles使用

charles抓包

Charles 使用过程中遇到问题

Charles抓包