请求使用php + cURL超时

时间:2017-09-29 00:22:48

标签: php curl

我会在php中创建一个脚本,它会向网站发出许多请求,而我的脚本在我的服务器上。但是,问题如下:

ERROR - REQUEST TIMED OUT

curl --user-agent USERNAME --referer PASSWORD "https://s3-AWS_REGION.amazonaws.com/BUCKETNAME/FILENAME" > FILENAME

我还澄清说我已在服务器上配置了“max_execution_time”功能并将其设置为“0”。我很感激,如果你能帮助我,我希望脚本能够做到这一点,如果远程服务器发出错误,让我的脚本做一个sleep()。我已经尝试了各种方式,但它对我不起作用。

谢谢!

1 个答案:

答案 0 :(得分:0)

你有几个问题,1:$ran = explode("\n", file_get_contents('nombres.txt'));这里你使用linux风格的换行符\ n作为分隔符,除了if ($file = fopen("correos.txt", "r")) {之外你可以在OS本机文本模式下打开它,意思是在某些操作系统(如Windows)上使用\ r \ n读取换行符,在某些操作系统(如Linux)上使用\ n读取换行符,在某些操作系统(如旧版Mac)上使用\ r \ n读取换行符,因此该行仅适用于某些操作系统。使其与平台无关,以二进制模式打开它,“rb”。 next:$var_post_data = 'site_id=1&email='.$line.'&name='.$randomElement.'id=39494393';这里$ line和$ randomElement不是urlencoded,所以如果它们包含&或=或ÆØÅ或许多其他字符,编码将格式错误,服务器可能会以400 Bad Request响应或以其他方式读取损坏的数据。使用urlencode()来正确地对其进行urlencode。 next:此代码看起来很可疑:Cookie: ws_visit_id=2_170927230320231_5878,您确定要对cookie ID进行硬编码,而不仅仅是获取一个新ID吗? cookie id很可能在很久以前就已过期..下一篇:Content-Type: application/x-www-form-urlencoded; charset=UTF-8此标头无效,x-www-urlencoded不支持UTF8,它始终采用ASCII编码,对非ascii字符使用特殊编码,但不支持根本添加这个头文件,libcurl会为你添加它,与你不同,libcurl在这样做时不会产生任何拼写错误。 但这些问题都没有解释屏幕截图中的错误消息。看起来你的http服务器中有一个负载均衡方案由于某种原因启动,它是一个Web服务器配置问题,而不是php问题。该错误可能是由Apache或Nginx或IIS或php前面的任何内容生成的。