免費(fèi)制作視頻安徽網(wǎng)絡(luò)優(yōu)化公司
注意!!!!某XX網(wǎng)站逆向?qū)嵗齼H作為學(xué)習(xí)案例,禁止其他個人以及團(tuán)體做謀利用途!!!
第一步:分析頁面和請求方式
此網(wǎng)站沒有技巧的加密,僅是需要攜帶cookie和請求格式,因此本文主要進(jìn)行分析重點(diǎn)的2次請求
第二步:請求頁面并分析請求
可以看到出現(xiàn)了三次請求,前兩次請求為302 重定向,第三次請求狀態(tài)為200
第三步:分析第一次請求
可以看到第一次請求在響應(yīng)headers 可以獲得set-cookie,同時也可以看到第一次請求后被重定向到指定地址Location
第四步:分析第二次請求,注意!注意!注意!這步請求很重要
可以看到第二次請求使用的是第一次請求后響應(yīng)的重定向網(wǎng)址(也就是第一次請求302響應(yīng)得到的location)和cookie,這步很重要。
第一請求——>302(重定向)——>response.headers.Location和set-cookie
第二次請求(第一次請求的response.headers.Location)—>302(重定向)——>response.headers.Location (第二次請求后的重定向網(wǎng)址可以忽略,可以直接請求目標(biāo)網(wǎng)址)
第五步:請求目標(biāo)鏈接
可以看到報文頭中攜帶了cookie和內(nèi)容類型。注意這兩個參數(shù)很重要。
第六步:上代碼
# -*- coding:utf-8 -*-
# @Time : 2023/12/6 12:01
# @Author: 水兵沒月
# @File : 某網(wǎng)址-cookie.py
# @Software: PyCharm
import json
import randomimport requestsheaders = {"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.7","Accept-Encoding":"gzip, deflate","Accept-Language":"zh-CN,zh;q=0.9","Cache-Control":"no-cache","Connection":"keep-alive","Content-Type":"application/json","Host":"XXX.XXX.XX.XXX:8081","Pragma":"no-cache","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36",}
# 第一次請求
res = requests.Session().get("http://XXX.XXX.XX.XXX:8081/cx/", verify=False,headers=headers, allow_redirects=False) # verify=False,
cookies = res.cookies.items()
cookie = ''
for name, value in cookies:cookie += '{0}={1};'.format(name, value)
print(cookie)
headers['Cookie'] = cookie# 第二次請求
requests.Session().get(res.headers.get("Location"), verify=False,headers=headers, allow_redirects=False)# 目標(biāo)請求
url = "http://XXX.XXX.XX.XXX:8081/cx/api/cxsj/syscqyinfo/list"
data = {"page":1,"rows":100,"conditionItems":[]}
print(headers)
res = requests.session().post(url=url, data=json.dumps(data), headers=headers, verify=False) #
res.encoding = 'UTF-8'
print(res.text)