获取此POST方法json API结果的正确方法是什么?

2024-04-20 13:38:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我是一个代码初学者,我试图找到一个可行的解决方案来获得这个jsonapi的结果

curl --location --request POST 'https://proxy.airgateway.net/v1.1/AirShopping' \
--header 'Content-Type: application/json' \
--header 'AG-Providers: BA' \
--header 'Authorization: {{AG-Authorization}}' \
--data-raw '{
  "metadata": {
    "country": "DE",
    "currency": "EUR",
    "locale": "de_DE"
  },
  "originDestinations": [
    {
      "departure": {
        "airportCode": "LHR",
        "date": "{{flight_date}}"
      },
      "arrival": {
        "airportCode": "MAD"
      }
    }
  ],
  "preferences": {
    "cabin": ["2"],
    "nonStop": false
  },
  "travelers": {
    "ADT": 2,
    "CHD": 0,
    "INF": 0
  }
}'

下面是我尝试在request.JSON文件中包含JSON数据的python代码,但是我对API的听者不知所措

import requests
import json

AirShopping = 'https://proxy.airgateway.net/v1.1/AirShopping'

file = open('C:\\request.json','r')
json_input = file.read()
request_json = json.loads(json_input)


response = requests.post(AirShopping, request_json)
print(response.content)

谢谢你

垫子


Tags: 代码httpsjsondatenetrequestdeproxy
1条回答
网友
1楼 · 发布于 2024-04-20 13:38:45

下面是一个关于在请求中使用头的例子。 注意:为了方便起见,我跳过了文件加载部分。这个例子失败了,对我来说出现了一个授权错误,这很好,因为我没有提供身份验证令牌。我想你可以根据这个来解决:

import requests
import json

AirShopping = 'https://proxy.airgateway.net/v1.1/AirShopping'

request_json = {
  "metadata": {
    "country": "DE",
    "currency": "EUR",
    "locale": "de_DE"
  },
  "originDestinations": [
    {
      "departure": {
        "airportCode": "LHR",
        "date": "{{flight_date}}"
      },
      "arrival": {
        "airportCode": "MAD"
      }
    }
  ],
  "preferences": {
    "cabin": ["2"],
    "nonStop": False
  },
  "travelers": {
    "ADT": 2,
    "CHD": 0,
    "INF": 0
  }
}

auth_token = "your-auth-token"

headers = {'content-type': 'application/json', 'AG-Providers': 'BA', 'Authorization': auth_token}


response = requests.post(AirShopping, data=request_json, headers=headers)
print(response.content)

相关问题 更多 >