python中的用户代理欺骗测试

python中的用户代理欺骗测试,python,user-agent,Python,User Agent,我对python和使用python 3还不熟悉。我正在尝试下载一个网页,我想知道的是,是否有一种方法可以像系统管理员或谷歌那样看到用户代理的名称。在我的代码中,我下载网页并将其保存到如下文本文件: #Import from urllib.request import urlopen,Request url1 = urlopen(Request(url, headers={'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3

我对python和使用python 3还不熟悉。我正在尝试下载一个网页,我想知道的是,是否有一种方法可以像系统管理员或谷歌那样看到用户代理的名称。在我的代码中,我下载网页并将其保存到如下文本文件:

#Import 
from urllib.request import urlopen,Request

url1 = urlopen(Request(url,  headers={'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.47 Safari/537.36'}))

 #Create file and write
 f=open('mah_a.txt','wb')
 f.write(url1.read())
 f.close()

如何检查我的用户代理名称是否已更改

您更改了用户代理标题,是的。如果您想查看服务器接收到的内容,可以使用在线echo服务器,如
httpbin.org

url = 'http://httpbin.org/get'
url1 = urlopen(Request(url,  headers={'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.47 Safari/537.36'}))
print(url1.read().decode('utf8'))
演示:


非常感谢你。它可以工作,我有另一个查询,虽然我不明白为什么在我尝试使用另一个url时使用decode('utf-8'),但我得到一个错误:“UnicodeEncodeError:'charmap'编解码器无法对109511位置的字符'\xa9'进行编码:字符映射到”@user3106413:在没有解码的情况下尝试,您会注意到
字节
对象打印得不太好。您遇到了一个典型的Windows控制台问题,它无法打印Unicode标准中的每个字符。
>>> from urllib.request import urlopen,Request
>>> url = 'http://httpbin.org/get'
>>> url1 = urlopen(Request(url,  headers={'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.47 Safari/537.36'}))
>>> print(url1.read().decode('utf8'))
{
  "args": {}, 
  "headers": {
    "Accept-Encoding": "identity", 
    "Host": "httpbin.org", 
    "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.47 Safari/537.36"
  }, 
  "origin": "188.29.165.166", 
  "url": "http://httpbin.org/get"
}