1
如果我有2个代理:PHP卷曲要求使用代理不同协议
$proxy1 = array('http', 'XXX.XXX.XXX.XXX','8080')
和$proxy2 = array('https','YYY.YYY.YYY.YYY','80')
而且我请求: $url1="http://somesite-1.net"
和$url2="https://somesite-2.net"
代码以初始化多卷曲:
foreach ($urls as $url) {
// threads
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_AUTOREFERER, $_autoreferrer);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, $_follow_loc);
curl_setopt($ch, CURLOPT_MAXREDIRS, $_max_redirects);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $_connection_timeout); curl_setopt($ch, CURLOPT_TIMEOUT, $_curl_timeout);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLINFO_HTTP_CODE, true);
curl_setopt($ch, CURLOPT_PROXY, $this->conf->getProxyIP().":".$this->conf->getProxyPort()); //PROXY
curl_setopt($ch, CURLOPT_USERAGENT, $this->conf->getUserAgent());
if($referrer = $this->conf->getReferrer() !== false){ //REFERRER
curl_setopt($ch, CURLOPT_REFERER, $referrer);
}
$tasks[$url] = $ch;
curl_multi_add_handle($cmh, $ch);
}
我是否需要设置代理协议http或https发送请求ST? 因为当我,使用套接字检查代理 - 我得到的消息,所有好的和代理工作。但是当我使用cURL请求内容时 - 我从所有代理获取内容。我认为问题是没有设置代理协议。我认为我需要在cURL中设置一些选项,但不知道具体是什么。
这是我的课,可以引荐这样的:https://github.com/phpjungle/iHttp/ – PHPJungle
见法__optSets(),行:282 – PHPJungle
哦,谢谢。我会检查它。附:漂亮的个人资料图 – LINKeRxUA