我正在尝试使用此代码从网站获取图片:
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.`
有什么问题?
由于
答案 0 :(得分:0)
当我的代码产生了这个错误时,可以通过确保curl / pycurl不重用现有连接来修复它。
如果在c.perform()之前启用c.setopt(c.VERBOSE,1),它将在输出中提供更多(调试)信息,前几行应告诉您它是否在建立新连接c.perform()的开头。