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才是正确的方法.
建议继续学习:
- Rolling cURL: PHP并发最佳实践 (阅读:10106)
- curl 命令使用cookie (阅读:8671)
- curl检查访问网页返回的状态码 (阅读:6501)
- PHP用CURL伪造IP和来源 (阅读:4194)
- 修改系统最大文件句柄数 (阅读:4122)
- curl测试下载速度 (阅读:4133)
- cURL基础教程 (阅读:3846)
- curl快速实现网速测试 (阅读:3741)
- curl常用功能简介 (阅读:3155)
- 软件推荐:curl (阅读:2735)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
后一篇:php让服务器不返回chunked >>
文章信息
- 作者:ideawu 来源: idea's blog
- 标签: curl CURLOPT_HTTPGET 句柄
- 发布时间:2011-10-13 13:55:38
建议继续学习
近3天十大热文
- [682] Go Reflect 性能
- [26] 正态分布的前世今生(一)
- [17] rsync同步的艺术
- [16] Linux Used内存到底哪里去了?
- [14] 基于HTTP缓存轻松实现客户端应用的离线支持
- [14] Linux内存中的Cache真的能被回收么?
- [13] 我的git笔记
- [13] Cuckoo Filter:设计与实现
- [12] 在JavaScript中什么时候使用==是正
- [12] 关于RDS只读实例延迟分析