尝试从Web获取图像时,pycurl中的断言失败

时间:2012-11-07 22:28:58

标签: python curl pycurl

我正在尝试使用此代码从网站获取图片:

image="http://the.site.com/view/ashx/Handler.ashx?Command=Avatar&TC=TQB"
curlobj = pycurl.Curl()
curlobj.setopt(pycurl.COOKIEFILE, '')
curlobj.setopt(pycurl.CONNECTTIMEOUT, 30)
curlobj.setopt(pycurl.TIMEOUT, 30)
curlobj.setopt(pycurl.FAILONERROR, True)
curlobj.setopt(pycurl.FOLLOWLOCATION, 1)
curlobj.setopt(pycurl.MAXREDIRS, 5)
imgf = open("logo.jpg", "wb")
curlobj.setopt(pycurl.URL, image)
curlobj.setopt(pycurl.WRITEDATA, imgf)
curlobj.perform()
imgf.close()
curlobj.close()

但它给出了:

python2`.6: src/pycurl.c:272: get_thread_state: Assertion `self->ob_type == p_Curl_Type' failed.`

有什么问题?

由于

1 个答案:

答案 0 :(得分:0)

当我的代码产生了这个错误时,可以通过确保curl / pycurl不重用现有连接来修复它。

如果在c.perform()之前启用c.setopt(c.VERBOSE,1),它将在输出中提供更多(调试)信息,前几行应告诉您它是否在建立新连接c.perform()的开头。