1

我正在尝试使用以下代码从站点获取图像:

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.`

问题是什么?

谢谢

4

1 回答 1

0

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

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

于 2014-02-23T05:24:18.777 回答