python请求获取状态代码200,但response.content为空



我试图通过python请求获取此网站信息,点击绘图按钮(红色按钮(后,浏览器将收到3个响应,例如:

  1. [GET]https://invest.wessiorfinance.com/searchid.html?Stock=2330
  2. [GET]https://invest.wessiorfinance.com/Stock_api/Notation_cal?Stock=2330&Odate=2022-04-11&周期=3.5&is_log=0&is_adjlose=0
  3. [GET]https://invest.wessiorfinance.com/stock_api/Big_Trend?Stock=2330&Odate=2022-04-11&周期=3.5

我发现第一个响应将通过{"c_session":"random string"}设置cookie,然后使用带有cookie的会话来获得第二个和第三个响应。

这是我的代码:

import requests
import json
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36','x-requested-with': 'XMLHttpRequest',}
session = requests.session()
url ="https://invest.wessiorfinance.com/searchid.html?Stock=2330"
response = session.get(url, headers = headers)
if response.status_code == 200:
print(json.loads(response.content.decode('utf-8')))

通过这种方式,我可以获得成功响应,然后检查session.cookies.get_dict((它表明存在一个新的cookie{"ci-session":"随机字符串"}。所以我使用相同的会话来获得第二个url的响应,这是我的代码:

url2 = "https://invest.wessiorfinance.com/Stock_api/Notation_cal?Stock=2330&Odate=2022-04-11&Period=3.5&is_log=0&is_adjclose=0"
response = session.get(url2, headers = headers)
if response.status_code == 200:
print(response.content)

我很确定这个会话的cookie已经有了新的项目";ci_session",status_code始终为200,但response.content为空(b''(!这让我很困惑!有什么建议吗?谢谢

我从浏览器复制了请求,然后我得到了返回数据的api:

import requests
cookies = {
'ci_session': 'kndj0o4bbor8a6fh8kafqunk3b',
}
headers = {
'authority': 'invest.wessiorfinance.com',
'accept': 'text/plain, */*; q=0.01',
'accept-language': 'en-GB,en-US;q=0.9,en;q=0.8,nb;q=0.7,no;q=0.6,sv;q=0.5',
'cache-control': 'no-cache',
# 'cookie': 'ci_session=kndj0o4bbor8a6fh8kafqunk3b',
'pragma': 'no-cache',
'referer': 'https://invest.wessiorfinance.com/notation.html',
'sec-ch-ua': '" Not A;Brand";v="99", "Chromium";v="100", "Google Chrome";v="100"',
'sec-ch-ua-mobile': '?0',
'sec-ch-ua-platform': '"Windows"',
'sec-fetch-dest': 'empty',
'sec-fetch-mode': 'cors',
'sec-fetch-site': 'same-origin',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36',
'x-requested-with': 'XMLHttpRequest',
}
params = {
'Stock': '2330',
'Odate': '2022-04-11',
'Period': '3.5',
}
response = requests.get('https://invest.wessiorfinance.com/stock_api/Big_Trend', headers=headers, params=params, cookies=cookies)

相关内容

最新更新