我使用此代码登录远程服务器。当我不使用代理时,Evrything正常工作。但是使用代理却没有。
这是代码:
$ch = curl_init();
curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt");
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_TIMEOUT, 20);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_REFERER, $ref_url);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, TRUE);
curl_setopt($ch, CURLOPT_PROXY, $proxy.':'.$port);
ob_start();
return curl_exec ($ch); // execute the curl command
ob_end_clean();
curl_close ($ch);
unset($ch);
我尝试禁用CURLOPT_HTTPPROXYTUNNEL,但没有帮助。
所以,没有代理我可以正常登录。 没有代理。 代理是一个很好的广告工作。
答案 0 :(得分:0)
使用您发布的代码获得的代理错误是什么?代理是否需要身份验证?
答案 1 :(得分:0)
我遇到了同样的问题,代码在没有代理的情况下工作正常,但是它没有返回任何内容 ,我做了一些调试,发现实际上在大多数服务器上只允许端口80,我们使用的许多代理通过另一个端口连接
注意:也只使用端口http,https和socks4代理,socks5代理在udp上运行而不是在tcp / ip上