大家好,本文将围绕青岛农业大学c语言程序设计展开说明,javase青岛农业大学教材答案是一个很多人都想弄明白的事情,想搞清楚青岛农业大学 百度网盘需要先了解以下几个事情。
本文仅供技术交流,如果只想查看代码请移步目录中3.代码准备中的总和代码部分。
win10系统下需要安装fiddler、python、requests库,附上链接:
fiddler安装
python安装
接下来安装requests库,打开cmd
输入命令 pip install -i https://mirrors.aliyun.com/pypi/simple/ requests
准备工作完成!
输入账号密码,点击登陆
此时fiddler已经捕获到了登陆请求
打开pc端疫情上报的小程序,点击上报
此时fiddler已经捕获到了请求python高级工程师证怎么考。
token请求代码:
import requests
url = 'https://zhxg.qau.edu.cn/xuegong/api/UserAuth/GetManUserLogin'
header = {
'Host': 'zhxg.qau.edu.cn',
'Connection': 'keep-alive',
'Content-Length': '59',
'AppType': '4#1.1.7',
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36 MicroMessenger/7.0.9.501 NetType/WIFI MiniProgramEnv/Windows WindowsWechat',
'content-type': 'application/json',
'Referer': 'https://servicewechat.com/wx9af32b509e88340c/32/page-frame.html',
'Accept-Encoding': 'gzip, deflate, br'
}
# 请在此处输入账号密码!
json = {
"ApplyType": 3,
"LoginName": "帐号",
"Pwd": "密码"
}
r = requests.post(url,json = json,headers = header,verify=False).json()
token = r["ResultValue"]["Token"]
print(token)
运行代码测试一下:
good!已经获得到token啦!
接下来准备上报请求代码,首先在先前的fiddler请求中拿到raw里面的header信息和json信息。
import requests
req_url = "https://zhxg.qau.edu.cn/xuegong/api/Epidemic/AddEpidemicReporting"
Header = {
'Connection': 'keep-alive',
'Content-Length':'613',
'AppType': '4#1.1.7',
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36 MicroMessenger/7.0.9.501 NetType/WIFI MiniProgramEnv/Windows WindowsWechat',
'X-Token': 'xxx',
'content-type': 'application/json',
'Referer': 'https://servicewechat.com/wx9af32b509e88340c/32/page-frame.html',
'Accept-Encoding': 'gzip, deflate, br'
}
Json ={
'Report': [
{
'ConceptTime': '39f50535-812c-1356-4ac8-4589db4be1d3',
'timeType': '上午',
'TemperatureType': '39faf477-3b69-f6d3-4eca-4a12726c4547',
'TemperatureId': '36.5-36.9'
},
{
'ConceptTime': '39f50535-b600-11d5-bd99-5b48e601ef9b',
'timeType': '中午',
'TemperatureType': '39faf477-3b69-f6d3-4eca-4a12726c4547',
'TemperatureId': '36.5-36.9'
},
{
'ConceptTime': '39f50535-df49-dbbb-f713-8ea5fbad1c26',
'timeType': '下午',
'TemperatureType': '39faf477-3b69-f6d3-4eca-4a12726c4547',
'TemperatureId': '36.5-36.9'
}
],
'CurrentPosition': '正阳中路201号',
'Country': '中国',
'Province': '山东省',
'City': '青岛市',
'County': '城阳区'
}
r = requests.post(req_url,json = Json,headers = Header,verify=False)
最后总和代码
import requests
url = 'https://zhxg.qau.edu.cn/xuegong/api/UserAuth/GetManUserLogin'
req_url = "https://zhxg.qau.edu.cn/xuegong/api/Epidemic/AddEpidemicReporting"
Header = {
'Connection': 'keep-alive',
'Content-Length':'613',
'AppType': '4#1.1.7',
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36 MicroMessenger/7.0.9.501 NetType/WIFI MiniProgramEnv/Windows WindowsWechat',
'X-Token': 'xxx',
'content-type': 'application/json',
'Referer': 'https://servicewechat.com/wx9af32b509e88340c/32/page-frame.html',
'Accept-Encoding': 'gzip, deflate, br'
}
header = {
'Host': 'zhxg.qau.edu.cn',
'Connection': 'keep-alive',
'Content-Length': '59',
'AppType': '4#1.1.7',
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36 MicroMessenger/7.0.9.501 NetType/WIFI MiniProgramEnv/Windows WindowsWechat',
'content-type': 'application/json',
'Referer': 'https://servicewechat.com/wx9af32b509e88340c/32/page-frame.html',
'Accept-Encoding': 'gzip, deflate, br'
}
# 请在此处输入账号密码!
json = {
"ApplyType": 3,
"LoginName": "帐号",
"Pwd": "密码"
}
Json ={
'Report': [
{
'ConceptTime': '39f50535-812c-1356-4ac8-4589db4be1d3',
'timeType': '上午',
'TemperatureType': '39faf477-3b69-f6d3-4eca-4a12726c4547',
'TemperatureId': '36.5-36.9'
},
{
'ConceptTime': '39f50535-b600-11d5-bd99-5b48e601ef9b',
'timeType': '中午',
'TemperatureType': '39faf477-3b69-f6d3-4eca-4a12726c4547',
'TemperatureId': '36.5-36.9'
},
{
'ConceptTime': '39f50535-df49-dbbb-f713-8ea5fbad1c26',
'timeType': '下午',
'TemperatureType': '39faf477-3b69-f6d3-4eca-4a12726c4547',
'TemperatureId': '36.5-36.9'
}
],
'CurrentPosition': '正阳中路201号',
'Country': '中国',
'Province': '山东省',
'City': '青岛市',
'County': '城阳区'
}
r = requests.post(url,json = json,headers = header,verify=False).json()
token = r["ResultValue"]["Token"]
Header["X-Token"] = token
r = requests.post(req_url,json = Json,headers = Header,verify=False)
print(r.text)
打开终端输入命令
vi /etc/crontab
不明白参数请移步linux定时运行python脚本
然后就大功告成啦!
这里对文章进行总结:
本文使用了fiddler这个强大的软件和python的requests库,本人是个憨憨,之前尝试用安卓虚拟机+appium+python尝试做一个自动上报,但是这玩意根本不可能放到服务器上,后来灵机一动,我只需要抓到post就可以直接发送请求了!所以即兴写了这个程序,如有不对的地方,欢迎斧正!院领导请放过我!