【发布时间】:2018-09-13 23:59:27
【问题描述】:
我正在使用连接到 Tor 代理端口的类,我可以访问 http://check.torproject.org 并说我正在使用 Tor 浏览器,但是当我尝试访问 .onion 网站时,我得到了空白页。
我用过这个class
【问题讨论】:
-
您绝对应该添加更多细节,包括代码。请在此处查看如何提问:stackoverflow.com/help/how-to-ask
我正在使用连接到 Tor 代理端口的类,我可以访问 http://check.torproject.org 并说我正在使用 Tor 浏览器,但是当我尝试访问 .onion 网站时,我得到了空白页。
我用过这个class
【问题讨论】:
它无法加载 .onion 地址,因为它使用 curl 代理类型 CURLPROXY_SOCKS5 而不是 CURLPROXY_SOCKS5_HOSTNAME,后者将使用 Tor SOCKS 代理来解析 DNS 地址。
你需要改变:
curl_setopt( $this->ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5 );
到:
curl_setopt( $this->ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5_HOSTNAME );
除此之外,示例类根本无法让您自定义请求。
我编写了一个名为TorCurlWrapper 的Tor cURL 包装类(例如here 和here),它是一个更大的Tor PHP 库TorUtils 的一部分。它将 curl 包装在一组易于使用的函数中,并确保只能通过 Tor 发出请求,并负责正确设置代理类型,如果不支持它将失败(非常旧的 curl 版本)。
您可以通过运行composer require dapphp/torutils 单独下载或使用 Composer 安装。
【讨论】: