技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> PHP --> PHP重用curl句柄, CURLOPT_HTTPGET的BUG

PHP重用curl句柄, CURLOPT_HTTPGET的BUG

浏览:2192次  出处信息

重用一个CURL句柄时, 发现curl_setopt($ch, CURLOPT_HTTPGET, TRUE) 不起作用. 期望在调用这条语句之后发起请求, 应该发送的是GET, 但看服务器log, 却使用了和前一次请求相同的HTTP方法.

PHP脚本:

<?php
$url = 'http://www.ideawu.net/';

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_exec($ch);

curl_setopt($ch, CURLOPT_HTTPGET, true); // 错误! BUG
curl_exec($ch);

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET"); // 正确
curl_exec($ch);
?>

web server log:

124.127.130.50 "2011-10-12 18:55:09" "POST / HTTP/1.1" 200 3516 "-" www.ideawu.net
124.127.130.50 "2011-10-12 18:55:09" "POST / HTTP/1.1" 200 3516 "-" www.ideawu.net
124.127.130.50 "2011-10-12 18:55:09" "GET / HTTP/1.1" 200 3516 "-" www.ideawu.net

这个BUG目前还没找到相关的资料.

补充: 不仅仅是CURLOPT_HTTPGET, CURLOPT_POST也有同样的问题. 所以, 结论是: 只有CURLOPT_CUSTOMREQUEST才是正确的方法.

建议继续学习:

  1. Rolling cURL: PHP并发最佳实践    (阅读:10106)
  2. curl 命令使用cookie    (阅读:8671)
  3. curl检查访问网页返回的状态码    (阅读:6501)
  4. PHP用CURL伪造IP和来源    (阅读:4194)
  5. 修改系统最大文件句柄数    (阅读:4122)
  6. curl测试下载速度    (阅读:4133)
  7. cURL基础教程    (阅读:3846)
  8. curl快速实现网速测试    (阅读:3741)
  9. curl常用功能简介    (阅读:3155)
  10. 软件推荐:curl    (阅读:2735)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1