代码之家  ›  专栏  ›  技术社区  ›  user9074332

当同一个帖子在Postman中正常工作时,如何排除Python请求帖子失败的故障?

  •  1
  • user9074332  · 技术社区  · 6 年前

    我继续从python请求中得到一条非常通用、毫无帮助的错误消息,当我发出POST请求时,它在Postman中运行良好。

    无论我尝试什么,我都会继续收到两条错误消息中的一条。请注意,调用python脚本 有第155行, 也没有

    {"error":{"detail":"SyntaxError: Unexpected token: u (sys_script_include.d2426c9ec0a8016501958bf2ac79c775.script; line 155)","message":"Unexpected token: u"},"status":"failure"}
    
    {"error":{"message":"Unexpected token: u","detail":"SyntaxError: Unexpected token: u (sys_script_include.d2426c9ec0a8016501958bf2ac79c775.script; line 155)"},"status":"failure"}
    

    在里面 ,正确解释参数,然后将其附加到url,例如:

    https://areallylongurl?params={"catalogItem": "Req Name"}
    

    Python请求

    payload = {"params": '{"catalogItem": "Req Name"}'}
    response = requests.post(url, headers=headers, json=payload, verify=False)
    response = requests.post(url, headers=headers, json=json.dumps(payload), verify=False)
    response = requests.post(url, headers=headers, data=payload, verify=False)
    response = requests.post(url, headers=headers, data=json.dumps(payload), verify=False)
    

    通过 using this very helpful SO answer

    有没有人想到潜在的问题可能是什么?请注意,我可以从这个API获得请求而不会产生问题,只有帖子有问题。

    1 回复  |  直到 6 年前
        1
  •  3
  •   blhsing    6 年前

    因为在postman中,参数“附加到url”如下 https://areallylongurl?params={"catalogItem": "Req Name"} ,这意味着该请求可能是一个GET请求,其中JSON作为值传递给 params 参数,而不是POST请求的有效负载,在这种情况下,您应该执行以下操作:

    response = requests.get(url, headers=headers, params={"params": json.dumps(payload)}, verify=False)