如何在Python 3 urllib中设置任意主机头?

时间:2017-11-06 17:39:36

标签: python python-3.x urllib

例如,我想向12.34.56.78发送一个主机标头stackoverflow.com的请求。但是,Python似乎覆盖了Host头,而实际发送的数据包仍然有Host: 12.34.56.78

如何阻止此行为?

from urllib import request
a = request.build_opener()
a.addheaders.append(('Host', 'stackoverflow.com'))
a.open('http://12.34.56.78/')

注意:代码在Python 3上运行

1 个答案:

答案 0 :(得分:0)

感谢Blurp的想法,发送请求的方法是:

from urllib import request
r = request.Request('http://12.34.56.78/', headers={'Host': 'stackoverflow.com'})
request.urlopen(a)