我有以下 pycurl 代码:
curl = pycurl.Curl()<br/> foo = StringIO()<br/> curl.setopt(pycurl.WRITEFUNCTION, foo.write)<br/> curl.setopt(pycurl.POST, 1)<br/> curl.setopt(pycurl.URL, finalURL)<br/> curl.setopt(pycurl.POSTFIELDS, encodedArgs)<br/> curl.perform()<br/> responseCode = curl.getinfo(pycurl.RESPONSE_CODE)<br/> effectiveURL = curl.getinfo(pycurl.EFFECTIVE_URL)<br/> curl.close()<br/>
当命令行 curl 命令返回时,我看到:
HTTP/1.1 200 OK Server: Apache-Coyote/1.1<br/> Content-Type: text/xml;charset=UTF-8<br/> Content-Length: 216<br/> Date: Thu, 06 Jan 2011 15:49:36 GMT<br/> Some XML Error Here: Something you are trying to do is not permitted.<br/>
但我没有从 pycurl 中看到这一点。
使用 pycurl 时如何提取此警告/错误消息?
请您参考如下方法:
来自服务器的响应是使用 curl 选项 pycurl.WRITEFUNCTION 编写的。
在你的例子中,因为你传递给它一个 StringIO 对象,响应数据应该在 foo 变量中:foo.getvalue()
