所以我尝试cURL到一个洋葱网站,例如:facebookcorewwwi.onion我会有以下代码:
<?php
$curl = curl_init();
curl_setopt($curl, CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');
curl_setopt($curl, CURLOPT_URL, 'http://facebookcorewwwi.onion/');
curl_setopt($curl, CURLOPT_TIMEOUT, 60);
curl_setopt($curl, CURLOPT_HTTPGET, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl, CURLOPT_PROXY, '127.0.0.1:9050');
curl_setopt($curl, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, TRUE);
$html = curl_exec($curl);
var_dump($html);
字符串
这将给出以下输出:
bool(false)
然而这不是我想要的结果,我想要的是实际的页面内容!
inb 4:是的,我打开了tor浏览器
curl_error给出以下错误:
错误:无法连接到127.0.0.1端口9050:连接被拒绝
2条答案
按热度按时间zc0qhyus1#
Tor浏览器默认使用SOCKS端口9150,其中Linux上的Tor守护程序或Windows上的Expert Bundle的默认端口为9050。
如果您更改为端口9150,您应该能够成功地通过Tor进行中继。
swvgeqrz2#
从
curl_exec
的php docs:成功时返回TRUE,失败时返回NULL。但是,如果设置了CURLOPT_RETURNTRANSFER选项,则成功时返回结果,失败时返回NULL。
如果
curl_exec
返回的是一个布尔值false,则表示发生了错误。请尝试获取错误:字符串