Python3 - 网址库2 |需要完全删除 "User-Agent" header
Python3 - Urllib2 | Need to remove the "User-Agent" header completely
我需要从 Python3 中的 Urllib-Request 的 header 中删除 User-Agent,但是如果我执行以下操作,它仍然会传输 User-Agent, 只是没有值。
url = "xxx"
headers = {
"User-Agent": ""
}
req = urllib.request.Request(url, headers=headers)
resp = urllib.request.urlopen(req)
问题是,我需要将 User-Agent 从 header 中完全删除,而不仅仅是空字符串,这样 isset($_SERVER["HTTP_USER_AGENT"] ) 在 php 中会 return 错误。
谢谢,
伦纳特
您可以构建自己的开启器并删除 'User-Agent'
header:
#!/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)
执行以下操作解决了我的问题。
headers = {
"User-Agent": None
}
不幸的是,我不得不从 Urllib2 切换到 "requests" 模块,因为对于 Urllib,使用 "None" 会引发错误。
谢谢大家的回复!
我需要从 Python3 中的 Urllib-Request 的 header 中删除 User-Agent,但是如果我执行以下操作,它仍然会传输 User-Agent, 只是没有值。
url = "xxx"
headers = {
"User-Agent": ""
}
req = urllib.request.Request(url, headers=headers)
resp = urllib.request.urlopen(req)
问题是,我需要将 User-Agent 从 header 中完全删除,而不仅仅是空字符串,这样 isset($_SERVER["HTTP_USER_AGENT"] ) 在 php 中会 return 错误。
谢谢, 伦纳特
您可以构建自己的开启器并删除 'User-Agent'
header:
#!/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)
执行以下操作解决了我的问题。
headers = {
"User-Agent": None
}
不幸的是,我不得不从 Urllib2 切换到 "requests" 模块,因为对于 Urllib,使用 "None" 会引发错误。
谢谢大家的回复!