今天與自動化的交流下,發現之前的思路比較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)
很奇怪,構造的值完全參照抓包,但是返回的就是不對,這該如何排查呢?