Python urrllib2在add_头上抛出AttributeError,但仅在本地抛出
我遇到了一个奇怪的问题 一段简单的python代码:Python urrllib2在add_头上抛出AttributeError,但仅在本地抛出,python,urllib2,Python,Urllib2,我遇到了一个奇怪的问题 一段简单的python代码: import urllib2 request = urllib2.Request('http://google.com') request.add_header('foo', 'bar') response = urllib2.urlopen(request) data = response.read() print data 在add_头上引发AttributeError。以下是回溯: Traceback (most recent c
import urllib2
request = urllib2.Request('http://google.com')
request.add_header('foo', 'bar')
response = urllib2.urlopen(request)
data = response.read()
print data
在add_头上引发AttributeError。以下是回溯:
Traceback (most recent call last):
File "C:/path/to/bizarro.py", line 4, in <module>
request.add_header('foo', 'bar')
File "C:\Python27\lib\urllib2.py", line 229, in __getattr__
raise AttributeError, attr
AttributeError: add_header
感觉好像它与python或windows有关(我运行的是Windows7)。
我咨询过谷歌,但到目前为止还没有任何迹象表明该去哪里寻找。有人遇到过这样的事情吗?有什么办法可以找到解决方案吗 感谢帕德雷克·坎宁安为我指明了正确的方向 urrlib2.py中缺少一行。世界跆拳道联盟?这是add_header方法的声明 应该是这样的:
def add_header(self, key, val):
# useful for something like authentication
self.headers[key.capitalize()] = val
就像
# useful for something like authentication
self.headers[key.capitalize()] = val
这是图书馆里唯一缺的一行。我添加了它,代码运行正常
编辑:想一想,我想可能是我自己无意中删除了它。在IDE(PyCharm)中,我可以在不经意间通过Ctrl+单击add_头进入库,并通过快速Ctrl+x删除我经常使用的行,这样就可以了 相同版本的python?如果查看请求类中的
C:\Python27\lib\urllib2.py
是否看到self.add\u header
?它没有!我可以从Python27源代码中添加它吗?将您的文件内容发布到pastebin,我会比较一下,看看有什么不同,它是一个标准库,所以有些东西已经改变了somehowurllib2.py
# useful for something like authentication
self.headers[key.capitalize()] = val