python读取fiddler_python3 使用Fiddler捕获的Raw信息带cookie使用GET或POST获取
importrequestsfrom retrying importretrydefis_request_exception(e):print(e)returnTrue
getcookie=‘‘‘GET http://www.xxx.com HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:70.0) Gecko/20100101 Firefox/70.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
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
Connection: keep-alive
Cookie: ASP.NET_SessionId=zempp5fkn3tdwzdee0jl3lvx
Upgrade-Insecure-Requests: 1‘‘‘@retry(retry_on_exception=is_request_exception,wait_random_min=2000, wait_random_max=10000)defgetWithFiddlerGetCookie(getcookie,visiturl):
lines= [i.strip() for i in getcookie.split("\n")]#fiddler request Raw 的起始行為完整
(method, url, _) =lines[0].split()if method == ‘POST‘:
body= lines[-1]
lines= lines[1:-2]#POSt則lines[-2]為‘‘(空行), lines[-1]為body
else:
lines= lines[1:-2]#GET則lines[-1]為‘‘(空行)
headers={}for line inlines:
k, v= line.split(‘:‘,1)
headers[k]=vif method == ‘POST‘:
r= requests.post(visiturl, headers=headers, data=body, verify=False,timeout=30)else:
r= requests.get(visiturl, headers=headers, verify=False,timeout=30)returnr
postcookie=‘‘‘POST http://www.xxx.com HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:70.0) Gecko/20100101 Firefox/70.0
Accept: application/json, text/javascript, */*; q=0.01
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/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Content-Length: 38
Connection: keep-alive
Cookie: ASP.NET_SessionId=zempp5fkn3tdwzdee0jl3lvx
body=00001‘‘‘@retry(retry_on_exception=is_request_exception,wait_random_min=2000, wait_random_max=10000)defgetWithFiddlerPostCookie(postcookie,visiturl,Referer,body):
lines= [i.strip() for i in postcookie.split("\n")]
(method, url, _)=lines[0].split()if method == ‘POST‘:#body = lines[-1] #數據由程序傳遞
lines = lines[1:-2]#POSt則lines[-2]為‘‘, lines[-1]為body
else:
lines= lines[1:-2]#GET則lines[-1]為‘‘
headers={}for line inlines:
k, v= line.split(‘:‘,1) #:注意后面有空格
headers[k] =v
headers[‘Referer‘]=Referer#requests 自動處理3xx
if method == ‘POST‘:
r= requests.post(visiturl, headers=headers, data=body, verify=False,timeout=30)
r.encoding= ‘UTF-8‘
else:
r= requests.get(visiturl, headers=headers, verify=False, timeout=30)
r.encoding= ‘UTF-8‘
return r
總結
以上是生活随笔為你收集整理的python读取fiddler_python3 使用Fiddler捕获的Raw信息带cookie使用GET或POST获取的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python识别图片数字tracerac
- 下一篇: mysql 自身参照自身_mysql个人