same_cookies = {
"JSESSIONID": "xxxxxxxxxxxxxx",
# other cookies
}
same_headers = {
'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, br, zstd',
'accept-language': 'ja,en-US;q=0.9,en;q=0.8',
# 'cache-control': 'max-age=0',
'content-type': 'application/x-www-form-urlencoded',
'host': 'www.res.skymark.co.jp',
'origin': 'https://www.res.skymark.co.jp',
'referer': 'https://www.res.skymark.co.jp/reserve2/inputDateAirline',
'sec-ch-ua': '"Chromium";v="136", "Google Chrome";v="136", "Not.A/Brand";v="99"',
'sec-ch-ua-mobile': '?0',
'sec-ch-ua-platform': '"Windows"',
'sec-fetch-dest': 'empty',
'sec-fetch-mode': 'cors',
'sec-fetch-site': "same-origin",
'upgrade-insecure-requests': '1',
# 'connection': 'close',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36'
}
same_data = {
"example": "233"
}
url = "https://www.res.skymark.co.jp/reserve2/vacantseatref"
# 下面的循环只能跑1-3次,后续拿不到数据,但是以上参数不变,我重新运行后依然可以拿到数据,但还是只能循环1-3次,可能是携带cookies的问题,是我清不掉cookies?
while True:
go_session.cookies.clear()
# session = requests_go.session()
# session.cookies.clear_session_cookies()
go_session.cookies.update(same_cookies)
req = go_session.post(url=url, headers=same_headers, timeout=10, verify=False, tls_config = tls, data=same_data)
time.sleep(4)
#下面的代码使用curl_cffi,可以一直跑,直到cookies过期
# while True:
# cff_session.cookies.clear()
# # session = requests_go.session()
# # session.cookies.clear_session_cookies()
# cff_session.cookies.update(same_cookies)
# req = cff_session.post(url=url, headers=same_headers, timeout=10, verify=False, data=same_data, impersonate="chrome136")
# time.sleep(4)`
下面是和两段循环请求的对比, cookies、headers、data都一样,curl_cffi可以一直循环请求,但是request_go不行
`if name == 'main':
from curl_cffi import requests as cff_requests
go_session = requests_go.session()
cff_session = cff_requests.Session()