如何修复 POST 请求返回内部服务器错误?

问题描述 投票:0回答:1

我正在发出 POST 请求来抓取一些数据,但遇到了一个问题:系统错误无效。虽然我不确定该错误是由机器人管理系统引起的,但我确信我以后需要以某种方式绕过它。 这是 Insomnia 提供的代码,对有效负载进行了一些更改,使其成为有效的 JSON 文件。

import requests
import json


url = "https://beta.mozzartbet.com/betting/matches"

payload = {"date":"all_days","sort":"bytime","currentPage":1,"pageSize":15,"sportId":1,"competitionIds":[],"search":"","matchTypeId":0}

headers = {
    "cookie": "i18next=sr; __cf_bm=ERfqyUmAAEIMgserE9_CDK0tuSarUuuGXYrOXLieVxI-1709153715-1.0-AXQEkA0Ts3r053i3CCTA12U9wzDt0KoNFx1PbnYOYXkOO576T%2BXYy%2BnPytIC5iBsT4PpTZho2mHNYAXwPBYoAvc%3D",
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:123.0) Gecko/20100101 Firefox/123.0",
    "Accept": "application/json, text/plain, */*",
    "Accept-Language": "en-US,en;q=0.5",
    "Accept-Encoding": "gzip, deflate, br",
    "Content-Type": "application/json",
    "medium": "WEB",
    "Origin": "https://beta.mozzartbet.com",
    "DNT": "1",
    "Sec-GPC": "1",
    "Connection": "keep-alive",
    "Referer": "https://beta.mozzartbet.com/sr/kladjenje/sport/1?date=all_days&sort=bytime",
    "Cookie": "i18next=sr; __cf_bm=Tj5T_TAyamtUovgI8yv0HsQbcFzP68ePbxFUHHPjONI-1709153370-1.0-AU/fwTxzJAV0XaeQB6xY3PElUQ8jD/PF6YoAOvV/wrZWNM0bjT33ibsiws/cHNi6j8F4M8a4h877uJiMVHLnxrg=",
    "Sec-Fetch-Dest": "empty",
    "Sec-Fetch-Mode": "cors",
    "Sec-Fetch-Site": "same-origin",
    "TE": "trailers"
}

response = requests.request("POST", url, json=payload, headers=headers)

print(response.json())

我读到 cookie 在生成后应在 30 分钟内有效,所以我不确定最初的错误是否与它有关。尽管如此,我无法在我的代码中找到错误所在。

python python-requests http-post insomnia
1个回答
0
投票

尝试调试您的代码:

检查响应状态代码:打印响应状态代码 (response.status_code) 以查看服务器是否返回错误状态代码(例如,5xx 表示服务器错误,4xx 表示客户端错误)。

检查响应内容:打印响应内容(response.text),查看服务器是否返回错误信息或相关信息。

验证有效负载数据:仔细检查有效负载数据,确保其格式正确并包含有效值。您还可以尝试不同的有效负载数据组合,看看是否有所不同。

验证 URL:确保您向其发送请求的 URL 正确且可访问。

© www.soinside.com 2019 - 2024. All rights reserved.