大家好,本文将围绕青岛农业大学c语言程序设计展开说明,javase青岛农业大学教材答案是一个很多人都想弄明白的事情,想搞清楚青岛农业大学 百度网盘需要先了解以下几个事情。
文章目录
- 前言
- 一、需要安装什么软件?
- 二、代码准备
-
- 1.fiddler抓取token请求
- 2.fiddler抓包去上报请求
- 3.代码准备
- 4.部署到服务器上
- 总结
前言
本文仅供技术交流,如果只想查看代码请移步目录中3.代码准备中的总和代码部分。
一、需要安装什么软件?
win10系统下需要安装fiddler、python、requests库,附上链接:
fiddler安装
python安装
接下来安装requests库,打开cmd
输入命令 pip install -i https://mirrors.aliyun.com/pypi/simple/ requests
准备工作完成!
二、代码准备
1.fiddler抓取token请求
输入账号密码,点击登陆
此时fiddler已经捕获到了登陆请求
2.fiddler抓包去上报请求
打开pc端疫情上报的小程序,点击上报
此时fiddler已经捕获到了请求python高级工程师证怎么考。
3.代码准备
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 requestsurl = '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)
4.部署到服务器上
打开终端输入命令
vi /etc/crontab
不明白参数请移步linux定时运行python脚本
然后就大功告成啦!
总结
这里对文章进行总结:
本文使用了fiddler这个强大的软件和python的requests库,本人是个憨憨,之前尝试用安卓虚拟机+appium+python尝试做一个自动上报,但是这玩意根本不可能放到服务器上,后来灵机一动,我只需要抓到post就可以直接发送请求了!所以即兴写了这个程序,如有不对的地方,欢迎斧正!院领导请放过我!