进行post或者get请求一个网页时返回值为:请在微信客户端打开链接
即使在请求的头部信息加上userAgent的值来伪装微信内置浏览器去请求也还是不行
代码如下
import requests
url="http://yktwx.henau.edu.cn/wechat/home/index.html?jkbh=0006"
url1="http://yktwx.henau.edu.cn/wechat/login/wechat_login.html"
hd={"User-Agent":"Mozilla/5.0 (Linux; U; Android 2.3.6; zh-cn; GT-S5660 Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 MicroMessenger/4.5.255"}
r=requests.get(url)
r1=requests.get(url1,headers=hd)
'''print(r.headers)
print(r.url)'''
print(r1.headers)
print(r1.text)
请求不了的,这个是微信的提示,设置ua没用,这个网址应该是判断了不在线就直接跳转到微信网页授权页面了,微信网页授权肯定会调用到微信内置的一些功能,网页授权哪可能给你设置个ua就返回授权的code,这样微信一点安全性没有了
可能是requests伪造的头部信息不全。
只有 'User-Agent'参数不行,要在headers中添加抓包时的所有请求头参数
比如
url = "https://xxxxxxxxxxx"
headers={
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 UBrowser/6.2.4098.3 Safari/537.36',
'Host' : 'xxxxxxxxxxx',
'Origin' : 'xxxxxxxxxxxxx',
'Referer' : 'xxxxxxxxxxxxxx',
'Cookie': 'xxxxxxxxxxxxxxxx'
}
res = requests.get(url,headers=headers)
其中请求头的参数 'User-Agent','Host','Origin', 'Referer','Cookie'可以在浏览器的f12控制台的Network中看到