Httplib2 - AttributeError: 'NoneType'对象没有'makefile'属性
我该怎么解决这个问题呢?
顺便说一下,我在网上搜索时发现这是一个httplib2的bug,但我不太明白别人提供的补丁该怎么用。
Traceback (most recent call last):
File "alt_func.py", line 18, in <module>
func(code)
File "alt_func.py", line 9, in func
resp, content = h.request(url_string, "GET", headers={'Referer': referer})
File "/usr/lib/pymodules/python2.6/httplib2/__init__.py", line 1099, in request
(response, new_content) = self._request(conn, authority, uri, request_uri, method, body, headers, redirections, cachekey)
File "/usr/lib/pymodules/python2.6/httplib2/__init__.py", line 901, in _request
(response, content) = self._conn_request(conn, request_uri, method, body, headers)
File "/usr/lib/pymodules/python2.6/httplib2/__init__.py", line 871, in _conn_request
response = conn.getresponse()
File "/usr/lib/python2.6/httplib.py", line 984, in getresponse
method=self._method)
File "/usr/lib/python2.6/httplib.py", line 330, in __init__
self.fp = sock.makefile('rb', 0)
AttributeError: 'NoneType' object has no attribute 'makefile'
3 个回答
0
你创建了一个 HTTPConnection
实例,但它并没有连接到任何地方,所以 sock
仍然是最开始的值 None
。
你能贴一些代码来展示这个问题吗?你正在使用或尝试使用哪些补丁?
5
如果你要连接的服务器没有运行,或者它在不同的端口上,你也会遇到这个错误。说实话,这个错误信息有点让人困惑。
5
这是一个已知的问题:http://code.google.com/p/httplib2/issues/detail?id=96
似乎有一些重复的问题被记录下来,或者可能是不同情况下出现了相同的症状: