【问题标题】:How to generate unique request in CURL如何在 CURL 中生成唯一请求
【发布时间】:2014-04-22 11:28:22
【问题描述】:

我有一个脚本,它使用 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);

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

谢谢...

【问题讨论】:

    标签: php curl web-scraping


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2012-03-11
        • 1970-01-01
        • 2019-11-25
        • 2016-03-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多