Python, mechanize,设置多个请求头的正确语法?
我在网上找不到怎么做这个的办法。我想用Python的mechanize模块设置多个请求头,比如:
br.addheaders = [('user-agent', ' Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.3) Gecko/20100423 Ubuntu/10.04 (lucid) Firefox/3.6.3')]
br.addheaders = [('accept', 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8')]
但是看起来它只接受最后一次的br.addheaders调用,所以只显示了'accept'这个请求头,而没有显示'user-agent'这个请求头。这让我觉得每次调用'br.addheaders'都会覆盖之前的设置。我搞不清楚怎么写语法才能同时包含两个或更多的请求头,所以非常希望能得到一些帮助。
我正在使用这个网站来测试请求头的输出:
1 个回答
11
根据 这个链接,语法应该是这样的:
br.addheaders = [('user-agent', ' Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.3) Gecko/20100423 Ubuntu/10.04 (lucid) Firefox/3.6.3'),
('accept', 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8')]
也就是说,你需要创建一个包含头部信息的列表,每个头部信息用一个小组表示。