如何为我的Python urllib打开器添加这些头部?
headers = { 'Accept': 'application/json, text/javascript, */*; q=0.01', 'X-Requested-With': 'XMLHttpRequest', 'Referer': 'http://www.namestation.com/domain-search?autosearch=1', 'Origin': 'http://www.namestation.com', 'Host': 'www.namestation.com', 'Content-Type': 'application/json; charset=UTF-8', 'Connection': 'keep-alive' } cj = cookielib.CookieJar() opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
opener.addHeaders(headers) 是一个方法,用来给请求添加一些额外的信息,比如说你想告诉服务器你支持什么格式的数据,或者你是谁。这些信息通常被称为“头部信息”。
3 个回答
1
你应该先把字典转换成元组。
opener.addHeaders=tuple(items for items in headers.items())
6
你的开头部分应该有一个叫做 addheaders
的属性,这个属性是一个元组的列表。默认情况下,它里面包含了用户代理的信息。
opener.addheaders.append(('Host', 'www.namestation.com'))
3
像这样可能会有效:
def opener():
cj=cookielib.CookieJar()
#Process Hadlers
opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
opener.addheaders=[
('Accept', 'application/json, text/javascript, */*; q=0.01'),
('X-Requested-With', 'XMLHttpRequest'),
('Referer', 'http://www.namestation.com/domain-search?autosearch=1'),
('Host', 'www.namestation.com'),
('Content-Type', 'application/json; charset=UTF-8'),
('Connection', 'keep-alive'),
]
return opener