查尔斯调试代理未连接到本地主机

Posted

技术标签:

【中文标题】查尔斯调试代理未连接到本地主机【英文标题】:Charles debugging proxy not connecting to localhost 【发布时间】:2016-06-01 17:36:54 【问题描述】:

Charles Web 调试代理未连接到本地主机。它在我安装后立即工作,但是在尝试连接到 localhost 时突然连接被拒绝。其他流量通过代理正常。 Web 服务器和代理端口不同。 *.8888 代理监听所有地址。

得到以下错误

查尔斯错误报告

连接远程主机失败

Charles 无法连接到远程主机。检查您的互联网 连接正常并且可以访问远程主机。也许你的 网络使用代理服务器访问互联网?你可以配置 Charles 在 External Proxy 中使用外部代理服务器 设置。

报告的实际异常是:

java.net.ConnectException:连接被拒绝 Charles Proxy, http://www.charlesproxy.com/

【问题讨论】:

您找到解决方案了吗? 【参考方案1】:

您是否使用 php 内置服务器? 办公文件的FAQ 说:

Localhost traffic doesn't appear in Charles

有些系统被硬编码为不使用代理来处理 localhost 流量,因此当您连接到 http://localhost/ 时,它不会显示在 Charles 中。

解决方法是改为连接到http://localhost.charlesproxy.com/。这指向 IP 地址 127.0.0.1,因此它应该与 localhost 一样工作,但优点是它将通过 Charles。无论 Charles 是否正在运行或您是否正在使用 Charles,这都将起作用。如果您使用不同的端口,例如 8080,只需像往常一样添加它,例如localhost.charlesproxy.com:8080.

您也可以在该域前面放置任何内容,例如myapp.localhost.charlesproxy.com,它也将始终解析为 127.0.0.1。

或者,您可以尝试添加一个“。”在 localhost 之后,或将 localhost 替换为您的机器名称,或使用您的本地链接 IP 地址(例如 192.168.1.2)。

如果 Charles 正在运行并且您使用 Charles 作为代理,您也可以使用 local.charles 作为 localhost 的替代方案。请注意,这仅在您使用 Charles 作为代理时有效,因此首选上述方法,除非您特别希望在不使用 Charles 时请求失败。

如果你使用php内置服务器使用

php -S 127.0.0.1:8080 -t ./public

而不是

php -S localhost:8080 -t ./public

【讨论】:

以上是关于查尔斯调试代理未连接到本地主机的主要内容,如果未能解决你的问题,请参考以下文章

MAMP 未连接到本地主机

Visual Studio 代码调试器未连接到 SAM Local

Spark 独立集群 - 从站未连接到主站

DataStax 代理 6.5 未连接到 DSE 集群

ngrok 未连接到本地服务器

Laravel Docker 容器未连接到本地 mysql