奇怪的curl 403错误

最近在一家公司实习,按照他们技术总裁的要求写一个URL连接检查器,从数据库里面select出url后判断他的访问状态生成报告,php或者python任选,我自然选择了自己最熟悉的php了

但是程序跑了一遍以后发现几个问题,首先是1w3k 条记录下用foreach去循环每个数组中的URL,效率太低下,只有几个数据还好,1w3k算不上海量,但是也不少了,设置curl超时时间为3秒还是时间太长,完整的跑一次要一个上午,这个还不是最恼人的,关键是好奇怪的误报问题,明明浏览器下面可以访问,为什么他取回的就是http 403呢?

考虑Useragent过滤,没错,确实有这个问题,但是是少数,仔细思考无奈只能求职Google

SEE:http://forums.devshed.com/php-development-5/trouble-with-a-curl-request-in-php-445222.html

为了加快速度,我设置了不读取body

[php]curl_setopt($curl, CURLOPT_NOBODY, true);[/php]

这样的话,如果http服务器不允许 HEAD 命令,就会返回403错误。
解决办法:使用GET
[php]curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');[/php]

Author Info :
  • From:奇怪的curl 403错误
  • URL:https://blog.ihipop.com/2010/07/1327.html
  • Please Reserve This Link,Thanks!
  • 《奇怪的curl 403错误》上有1条评论

    发表回复

    您的邮箱地址不会被公开。 必填项已用 * 标注