9
A
回答
2
不适用于PHP cURL扩展可用的当前选项。在命令行上,我相信有--retry
选项,但不会暴露给PHP。
12
您可以使用errno为重试这样的:
$curl = curl_init();
curl_setopt_array($curl, $options);
$response = curl_exec($curl);
$retry = 0;
while(curl_errno($curl) == 28 && $retry < 3){
$response = curl_exec($curl);
$retry++;
}
$error_codes=array(
[1] => 'CURLE_UNSUPPORTED_PROTOCOL',
[2] => 'CURLE_FAILED_INIT',
[3] => 'CURLE_URL_MALFORMAT',
[4] => 'CURLE_URL_MALFORMAT_USER',
[5] => 'CURLE_COULDNT_RESOLVE_PROXY',
[6] => 'CURLE_COULDNT_RESOLVE_HOST',
[7] => 'CURLE_COULDNT_CONNECT',
[8] => 'CURLE_FTP_WEIRD_SERVER_REPLY',
[9] => 'CURLE_REMOTE_ACCESS_DENIED',
[11] => 'CURLE_FTP_WEIRD_PASS_REPLY',
[13] => 'CURLE_FTP_WEIRD_PASV_REPLY',
[14]=>'CURLE_FTP_WEIRD_227_FORMAT',
[15] => 'CURLE_FTP_CANT_GET_HOST',
[17] => 'CURLE_FTP_COULDNT_SET_TYPE',
[18] => 'CURLE_PARTIAL_FILE',
[19] => 'CURLE_FTP_COULDNT_RETR_FILE',
[21] => 'CURLE_QUOTE_ERROR',
[22] => 'CURLE_HTTP_RETURNED_ERROR',
[23] => 'CURLE_WRITE_ERROR',
[25] => 'CURLE_UPLOAD_FAILED',
[26] => 'CURLE_READ_ERROR',
[27] => 'CURLE_OUT_OF_MEMORY',
[28] => 'CURLE_OPERATION_TIMEDOUT',
....
相关问题
- 1. 重试超时CURL
- 2. PHP CURL重定向
- 3. 在PHP中使用curl连接重用
- 4. 重复使用cookie cURL PHP
- 5. php curl跟着重定向?
- 6. 重新调用cookie curl php
- 7. PHP Curl错误重定向
- 8. PHP cURL在重定向超时
- 9. cURL PHP和cURL
- 10. 在PHP中用cURL回拨
- 11. file_get_contents或curl在php中?
- 12. 在PHP中处理cURL
- 13. 在php中转换curl
- 14. 在php中安装curl
- 15. cURL到PHP cURL(html2pdf.raph.site)
- 16. CLI cURL到PHP cURL
- 17. PHP如何在PHP中运行此cURL
- 18. PHP中的curl url?
- 19. CURL在PHP代码
- 20. 在Django Rest Framework中测试,重现这个curl请求?
- 21. CURL请求失败重试方法
- 22. 在HTTP调试代理中使用PHP cURL
- 23. 如何在PHP中禁用Curl调试输出
- 24. 试图用PHP和cURL登录站点?
- 25. PHP cURL重定向到登录页面
- 26. php curl重置或修改cookies
- 27. PHP Curl脚本生成重复请求
- 28. 使用cURL php高级重定向
- 29. cURL成功后PHP代码重定向
- 30. PHP Curl - 登录后重定向
[全部卷曲选项lisy(http://php.net/manual/en/function.curl-setopt.php) – sdleihssirhc 2011-05-21 07:49:42
最好的办法是重试失败 – Ibu 2011-05-21 07:54:33