Httplib2 - AttributeError: 'NoneType'对象没有'makefile'属性

3 投票
3 回答
7049 浏览
提问于 2025-04-16 01:09

我该怎么解决这个问题呢?
顺便说一下,我在网上搜索时发现这是一个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

似乎有一些重复的问题被记录下来,或者可能是不同情况下出现了相同的症状:

撰写回答