Python post 请求不发送数据

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

我正在尝试执行以下功能:

    def create_report(self):
        url = "<some_url>"
        headers = self.head_auth
        post_data = {"startDate": "2024-01-24T10:30:18.276+02:00", "endDate": "2024-01-25T10:30:18.276+02:00",
                     "headers": ["event_date"], "filters": [], "parametersData": {}, "outputType": 1,
                     "reportTimeZone": "UTC+0", "isCustom": True, "reportName": "delete", "metrics": ["imp"],
                     "minimumImpressionsThreshold": None}
        json_data = json.dumps(post_data)
        response = requests.post(url, headers=headers, data=json_data)
        return json.loads(response.text)

但是我收到一个错误,负载为空, 有谁能思考一下原因吗? 谢谢。

python python-requests
2个回答
0
投票
def create_report(self):
    url = "<some_url>"
    headers = self.head_auth
    post_data = {"startDate": "2024-01-24T10:30:18.276+02:00", "endDate": "2024-01-25T10:30:18.276+02:00",
                 "headers": ["event_date"], "filters": [], "parametersData": {}, "outputType": 1,
                 "reportTimeZone": "UTC+0", "isCustom": True, "reportName": "delete", "metrics": ["imp"],
                 "minimumImpressionsThreshold": None}
    #json_data = json.dumps(post_data)
    response = requests.post(url, headers=headers, data=post_data)
    return json.loads(response.text)

无需转储它,因为它会将其转换为 json 二进制对象,并且需要作为字典传递,因为请求库将负责更改和发送部分。


0
投票

删除

json.dumps
json.loads

def create_report(self):
    url = "<some_url>"
    headers = self.head_auth
    post_data = {"startDate": "2024-01-24T10:30:18.276+02:00", "endDate": "2024-01-25T10:30:18.276+02:00",
                 "headers": ["event_date"], "filters": [], "parametersData": {}, "outputType": 1,
                 "reportTimeZone": "UTC+0", "isCustom": True, "reportName": "delete", "metrics": ["imp"],
                 "minimumImpressionsThreshold": None}
    response = requests.post(url, headers=headers, data=post_data)
    return response.json()
© www.soinside.com 2019 - 2024. All rights reserved.