【问题标题】:request payload from Postman works but mine doesn't - unexpected token error来自 Postman 的请求有效负载有效,但我的无效 - 意外令牌错误
【发布时间】:2021-06-24 08:52:24
【问题描述】:

我从邮递员 POST 请求中获取了 Python-Requests 代码,如下所示:

payload="{\"action\":\"ask\",
\"PortfolioItem\":{\"localAmount\":0,\"expiresAt\":\"2021-04-25T18:50:09+0000\",\"skuUuid\":\"9c0b30f6-d2e0-49ff-b8fa-c30a4d8d9b82\",\"localCurrency\":\"USD\",\"meta\":{\"discountCode\":\"\"}}}"

headers = {//bunch of headers}

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

print(response.text)

这很好用。但是当我尝试使用以下代码将新信息传递到有效负载时:

//initialize an empty payload object
payload = {
 'action': 'ask','PortfolioItem': {'expiresAt': '',
  'localAmount': 0,
  'localCurrency': 'USD',
  'meta': {'discountCode': ''},
  'skuUuid': ''
}}

//populate it with data I want to add
payload['PortfolioItem']['expiresAt'] = expiration
payload['PortfolioItem']['localAmount'] = price
payload['PortfolioItem']['skuUuid'] = sku_id

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

print(response.text)

我收到以下错误:{"message":"Unexpected token P in JSON at position 0"}。 我也尝试将有效负载转换为字符串,即:data=str(payload),但返回相同的错误{"message":"Unexpected token ' in JSON at position 0"}。 最重要的是,我尝试只拆分原始有效负载并将其与中间的新数据连接,但我需要传递整数值,因此连接不起作用(除非有一种方法可以在不转换我的 int 的情况下做到这一点成一个字符串)。 不知道是什么问题,任何帮助将不胜感激!

【问题讨论】:

    标签: python xmlhttprequest postman


    【解决方案1】:

    第一个是看起来像有效 JSON 的字符串,第二个是 dict。您需要将您的 dict 转换为 JSON。或使用:requests.request("POST", url, headers=headers, json=payload) 为您完成。

    【讨论】:

      猜你喜欢
      • 2018-10-27
      • 2021-12-07
      • 2018-08-22
      • 2018-07-14
      • 2019-11-28
      • 2017-05-03
      • 2022-10-31
      • 1970-01-01
      • 2019-10-29
      相关资源
      最近更新 更多