如何在CURL中生成唯一请求


How to generate unique request in CURL

我有一个脚本,它使用Curl在相同URL的多个请求中同时获取数据。

每次发送类似的新请求时,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);

如果有人有任何建议,请帮助我。

谢谢。。。

如果您想要另一个curl请求,只需再次创建一个新的curl对象。

$ch1 = curl_init();
$ch2 = curl_init();
...
curl_close($ch1);
curl_close($ch2);

如果您想在每个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);