Charles调试代理未连接到本地主机

mad*_*php 5 macos soap-client charles-proxy

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

得到以下错误

查尔斯错误报告

无法连接到远程主机

Charles 无法连接到远程主机。检查您的 Internet 连接是否正常以及远程主机是否可以访问。也许您的网络使用代理服务器访问 Internet?您可以在外部代理设置中将 Charles 配置为使用外部代理服务器。

报告的实际异常是:

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

Ans*_*ang 5

您使用了 PHP 内置服务器吗?Office文档的常见问题解答说:

本地主机流量不会出现在 Charles 中

有些系统经过硬编码,不使用本地主机流量的代理,因此当您连接到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
Run Code Online (Sandbox Code Playgroud)

代替

php -S localhost:8080 -t ./public
Run Code Online (Sandbox Code Playgroud)