查尔斯调试代理未连接到本地主机
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
【讨论】:
以上是关于查尔斯调试代理未连接到本地主机的主要内容,如果未能解决你的问题,请参考以下文章