我有一个脚本,它使用相同的URL同时在多个请求中使用Curl获取数据。
每次发送新请求时,CURL中是否有任何配置?
因为第二次我尝试使用CURL的行为就像假请求一样。
目前我正在使用此配置。
$ch = curl_init();
curl_setopt ( $ch, CURLOPT_URL, $url );
curl_setopt ( $ch, CURLOPT_HEADER, true);
curl_setopt ( $ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt ( $ch, CURLOPT_BINARYTRANSFER, true);
curl_setopt ( $ch, CURLOPT_TIMEOUT, 150);
curl_setopt ( $ch, CURLOPT_FOLLOWLOCATION, 1 );
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 30);
$data = curl_exec($ch);
curl_close($ch);
如果有人有任何建议,请帮助我。
谢谢...
答案 0 :(得分:0)
如果你想要另一个curl请求,只需再次创建一个新的curl对象。
$ch1 = curl_init();
$ch2 = curl_init();
...
curl_close($ch1);
curl_close($ch2);
答案 1 :(得分:0)
如果要在每个curl请求中使用相同的选项,可以在循环中使用curl_exec而不关闭或重新初始化它:
$ch = curl_init();
curl_setopt ( $ch, CURLOPT_URL, $url );
curl_setopt ( $ch, CURLOPT_HEADER, true);
curl_setopt ( $ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt ( $ch, CURLOPT_BINARYTRANSFER, true);
curl_setopt ( $ch, CURLOPT_TIMEOUT, 150);
curl_setopt ( $ch, CURLOPT_FOLLOWLOCATION, 1 );
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 30);
foreach($urls as $url ){
curl_setopt($ch, CURLOPT_URL, $url);
$data = curl_exec($ch);
}
curl_close($ch);