我想知道是否有办法通过PHP加速这样的cURL请求。
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://www.randomsite.com/path');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.79 Safari/537.36');
$html = trim(curl_exec($ch));
echo $html;
curl_close($ch);
?>
我循环了几百次这需要很长时间,因此我想知道是否有办法加快这个过程。
答案 0 :(得分:2)
是的,你可以做的第一件事就是启用压缩,如果你从压缩中获取的内容受益(这不包括jpg / png / gif /任何预压缩,但是像html / css / javascript这样的东西/ xml受益于传输压缩) - 将CURLOPT_ENCODING
设置为emptystring以使curl自动处理传输压缩。
I'm looping this a few hundred times and it's taking pretty long
- 除非你因为某些原因不能同时获取它们,只需使用curl_multi api,然后你可以同时获取数百个,应该显着比使用curl_exec方法更快(只能连续获取)