老師,你好,幫我看看這個路由器管理界面的ip怎么抓???
1.通過get請求訪問登錄頁面
http://172.18.21.254/login.htm
Request Headers:
GET /login.htm HTTP/1.1
Host: 172.18.21.254
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7,zh-TW;q=0.6,und;q=0.5
輸入賬號密碼點擊登錄
2. post訪問頁面(不知道為什么是post的根目錄的?)
http://172.18.21.254/
Request Headers:
POST / HTTP/1.1
Host: 172.18.21.254
Connection: keep-alive
Content-Length: 71
Pragma: no-cache
Cache-Control: no-cache
Accept: text/plain, */*; q=0.01
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36
Content-Type: application/json; charset=UTF-8
Origin: http://172.18.21.254
Referer: http://172.18.21.254/login.htm
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7,zh-TW;q=0.6,und;q=0.5
Request Payload(這里出現(xiàn)了這個參數(shù),而不是form data)
{"method":"do","login":{"username":"800","password":"42zK46b09TefbwK"}}
3.get http://172.18.21.254/?(這里為什么有發(fā)起了個get根目錄的請求?)
Request Headers:
GET / HTTP/1.1
Host: 172.18.21.254
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Referer: http://172.18.21.254/login.htm
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7,zh-TW;q=0.6,und;q=0.5
最后我代碼運行的結(jié)果是一堆報錯。。。。
import requests
# requests.session,創(chuàng)建一個保持登錄憑據(jù)的session實例
login_session = requests.session()
# 1、get請求,獲取token信息
token_url = "http://172.18.21.254/login.htm"
header = {
? ? "Host": "172.18.21.254",
? ? "Connection": "keep-alive",
? ? "Pragma": "no-cache",
? ? "Cache-Control": "no-cache",
? ? "Upgrade-Insecure-Requests": "1",
? ? "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36",
? ? "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
? ? "Accept-Encoding": "gzip, deflate",
? ? "Accept-Language": "zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7,zh-TW;q=0.6,und;q=0.5"
}
# 發(fā)送第一個get請求
# token_response = login_session.get(url=token_url, headers=header)
# # 通過正則表達式獲取token值
# token_search = re.compile(r"XSRF-TOKEN=(.*?);")
# token_value = token_search.search(token_response.headers.get("Set-Cookie"))
# 2、post請求
login_url = "http://172.18.21.254/"
data = {
? ? "username": "800",
? ? "password": "42zK46b09TefbwK"
}
# 發(fā)送Post請求,提交用戶名密碼,注意不要忘記攜帶data
login_response = login_session.post(url=login_url, headers=header, data=data)
print(login_response.text)
index_url = "http://172.18.21.254/stok=a685d0393b95322ddeac24e58621c5d4/userrpm/system_state.htm"
# 一定要使用login_session
index_response = login_session.post(url=index_url, headers=header)
print(index_response.text)