为什么我从API查询时会出现400错误



我有一份公司名称列表。我正试图使用https://5500search.dol.gov/search"上提供的公共数据从他们那里获得更多信息。例如:我正试图获得有关";CVS";。我将在以下代码中更改payload = make_payload("CSV")。这将为我提供一个包含必要信息的json文件。这些信息是我使用网站搜索时得到的。但当我尝试使用该代码搜索Vyve Broadband LLC等其他公司时,我会得到400错误。但当我直接使用网站的搜索栏时,我可以得到一个列表。为什么会这样?我对这一切都很陌生。所以,我真的很感谢一些关于如何从API正确查询的见解。

import requests
import json
URL = "https://5500search.dol.gov/search"
def make_payload(plan):
payload = {"q": f"plansponsor:{plan}"}
return payload
payload = make_payload("Vyve Broadband LLC")
resp = requests.get(URL, params=payload)
print(resp.json())```

400响应代码表示请求主体具有无效语法。您应该参考API文档,并遵循创建请求的指导原则。大多数API对请求的格式都非常严格,我建议使用Postman这样的软件来获得API请求的正确语法

祝好运

问题在于payload的格式。您需要参数make_payload的键(名称(以及值Vyve Broadband LLC

请参阅https://requests.readthedocs.io/en/master/user/quickstart/#passing-urls 中的参数

我重写了这个函数,以生成API所需的正确格式:

import requests
import json
URL = "https://5500search.dol.gov/search"
def make_payload(plan):
payload = {"make_payload": plan}
return payload
payload = make_payload("Vyve Broadband LLC")
resp = requests.get(URL, params=payload)
print(resp.json())

相关内容

  • 没有找到相关文章

最新更新