繁体   English   中英

在“ CURLOPT_URL”上停留60秒

[英]Stay on “CURLOPT_URL” for 60s

我正在使用此代码通过私人代理[4 ips]测试我的Awstats

curl_setopt($ch, CURLOPT_URL, "http://example.com/"); 
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_HTTPGET,1); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
curl_setopt($ch, CURLOPT_HEADER, FALSE);  
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); 
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
curl_setopt($ch, CURLOPT_PROXY, trim($privateproxylist[$p]));   

当我查看自己的统计信息时,可以看到访问和引用,但是是否有任何选项可以使每个代理将此脚本在CURLOPT_URL上保留60秒钟? 谢谢

根据一个网页,我发现:

根据访问者首次访问文档与最后访问文档之间的时间,AWStats会尝试计算平均访问时间。

因此,您需要等待60秒钟,然后再次向网站提出请求。 由于我不知道AWStats的内部信息,您可能需要使用其他页面网址,但从理论上讲,您应该能够仅请求相同的网址。 因此,它只是以下情况:

// 1. Make your curl request to URL
// 2. Wait 60s
sleep(60);
// 3. Make the curl request again 
// 4. Change proxy and go back to step 1

当然,这是同步的,因此您将使脚本至少运行4分钟(基于4个代理ips),因此请不要忘记将php脚本的执行时间限制设置为无限制(或很高)。

您可能还需要在curl资源上设置“ cookiejar”配置,因为awstats可以使用会话cookie或类似的东西来识别访问者。 因此,将需要设置cookiejar文本文件,以便可以存储会话cookie,然后在第二个请求上重新发送。 在使用新的代理ip之前,请不要忘记清除cookie文件(或仅在选项中设置新的文本文件)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM