我需要从Python3中的Urllib-Request标题中删除User-Agent,但是如果我这样做,它仍会传输User-Agent,只是没有值。
url = "xxx"
headers = {
"User-Agent": ""
}
req = urllib.request.Request(url, headers=headers)
resp = urllib.request.urlopen(req)
问题是,我需要让User-Agent从标题中完全删除,而不仅仅是使用空字符串,因此php中的isset($ _ SERVER [" HTTP_USER_AGENT"])将返回假的。
谢谢, 伦纳特
答案 0 :(得分:2)
您可以构建自己的开场白并删除'User-Agent'
标题:
#!/usr/bin/env python3
import urllib.request
opener = urllib.request.build_opener()
opener.addheaders = [(header, value)
for header, value in opener.addheaders
if header.casefold() != 'user-agent']
with opener.open(url) as response:
handle(response)
答案 1 :(得分:2)
执行以下操作解决了我的问题。
headers = {
"User-Agent": None
}
不幸的是我不得不从Urllib2切换到“请求”模块,因为使用Urllib时,使用“None”会抛出错误。
非常感谢所有回复!