今天与自动化的交流下,发现之前的思路比较Low,他们的方法是监控进程使用时序数据库TSDB,监控脚本放入设备,前端读取数据时查询数据库。有空时再仔细看看TSDB怎么使用。
以下是百度的TSDB:https://cloud.baidu.com/doc/TSDB/s/Qjx1m4xlk
晚上一直被一个问题卡住,抓包出来的post数据,使用python构造相同的请求后,后台返回的值不是想要的,和抓包的不是一个值,
抓包数据及返回值:
构造POST请求主要片段:
url = 'http://%s/cgi-bin/fat_ap.cgi'%ip
headers = {
"POST":"/cgi-bin/fat_ap.cgi HTTP/1.1",
"Host":"%s"%ip,
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0',
'Accept': 'application/json, text/plain, */*',
'Accept-Language': 'zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2',
'Accept-Encoding': 'gzip, deflate',
'Content-Type': 'application/json',
'Access-Control-Allow-Headers': '*',
'Content-Length':'77',
'Origin': 'http://192.23.35.2',
'Connection': 'close',
'Referer': 'http://192.23.35.2/index.html'
}
values = {
"opr":"login",
"account":"admin",
"passwd":"%s"%password_md5
}
values = json.dumps(values)
print(url,values,headers)
data = urllib.parse.quote_plus(values).encode('utf-8')
request = urllib.request.Request(url, data, headers)
html = urllib.request.urlopen(request).read().decode('utf-8')
print(html)
很奇怪,构造的值完全参照抓包,但是返回的就是不对,这该如何排查呢?