使用PHP Curl获取页面时出现400 Bad Request

时间:2009-09-23 15:19:26

标签: php post curl get http-status-codes

当我试图通过curl获取它时,我不断从hotfile.com页面获得400个错误的请求代码。

  1. 我可以在浏览器中使页面正常
  2. 脚本中的第一个(登录)(发布)请求
  3. for循环中的最后一个(get)请求
  4. 我尝试将curl标头设置为浏览器发送的相同标头
  5. 我尝试过两次请求之间的睡眠时间长达5秒,没有区别
  6. 问题是for循环中的所有curl get请求都返回了400个错误请求,除了最后一个对我来说很奇怪的请求。

    以下是该脚本的链接:http://pastie.org/627436 我正在使用Sean Hubers卷曲包装:http://github.com/shuber/curl 还有SimpleHMTLDOM:http://simplehtmldom.sourceforge.net/

    除非您拥有热门文件帐户,否则人们可能很难尝试,因为该脚本无法在非注册帐户上运行。

    提前干杯:)

1 个答案:

答案 0 :(得分:12)

我的第一个猜测是改变

$urls = explode("\n",$_POST['urls']);   => $urls = explode("\r\n",$_POST['urls']);

(\n => \r\n)

既然你说最后一个工作正常,我会想到最后一个之前的URL是http:\ xyz.com \ r \ n,这是爆炸的结果。基本上确保爆炸后的URL列表不包含额外的字符,甚至可以调用它上面的修剪。只是猜测,因为我无法在没有帐户的情况下测试它:)