如何使用cURL无延迟地打开多个URL

时间:2017-07-18 16:15:14

标签: php url curl

我想知道是否可以使用cURL或其他内容打开多个网址。

直到现在我都试过这个。

$urls = array(
          "http://google.com",
          "http://youtube.com",
          );

foreach($urls as $url) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT,0);
    curl_setopt($ch, CURLOPT_TIMEOUT_MS, 200);
    curl_exec($ch);
    curl_close($ch);
}

200ms是让网站完全打开的地方。 也许你知道任何其他选择。

是否可以同时在PHP中打开多个URL?不是客户端,服务器端。

1 个答案:

答案 0 :(得分:3)

您的解决方案是同时发送cURL HTTP请求 为了更快地实施,您可以使用此功能(感谢phpied):

$data = array(
  'http://search.yahooapis.com/VideoSearchService/V1/videoSearch?appid=YahooDemo&query=Pearl+Jam&output=json',
  'http://search.yahooapis.com/ImageSearchService/V1/imageSearch?appid=YahooDemo&query=Pearl+Jam&output=json',
  'http://search.yahooapis.com/AudioSearchService/V1/artistSearch?appid=YahooDemo&artist=Pearl+Jam&output=json'
);
$r = multiRequest($data);

echo '<pre>';
print_r($r);

并按照这样使用:

while (scale <0.8){
  float scale = 0.2f;
  float offset = 15f;
  RescaleOp rescaleOp = new RescaleOp(scale, offset, null);
  rescaleOp.filter(imageOriginal, imageDark);
  scale = scale+0.2;
  some code for paint and delay
}
at last paint imageOriginal

希望它有所帮助。
read this