【发布时间】:2021-10-22 07:40:59
【问题描述】:
这是我第一次连接 API。我正在尝试查询 NIH 项目数据,并且当我得到状态代码 200 时似乎可以正确连接到它。我遇到的问题是当我尝试打印输出时。尽管可以访问,但我收到了 URL 拒绝。该文档表明,如果出现任何问题,可能是由于我的 IP 由于各种原因被阻止。我联系了那里的 API 支持团队,我对被阻止的 IP 没有任何问题。他们让我通过命令提示符运行一些curl 请求,我能够正确执行这些请求。这让我相信我有代码问题。我在这里做错了什么?
import requests
params = {
"criteria":
{
"fiscal_years":[2019,2018]
},
"include_fields": [
"ApplId","SubprojectId","FiscalYear","Organization", "ProjectNum","OrgCountry",
"ProjectNumSplit","ContactPiName","AllText","FullStudySection",
"ProjectStartDate","ProjectEndDate"
],
"offset":0,
"limit":25,
"sort_field":"project_start_date",
"sort_order":"desc"
}
response = requests.post("https://api.reporter.nih.gov/v2/projects/Search", data = params)
#print(response.status_code)
print(response.text)
示例 curl 脚本和输出:
curl -X POST "https://api.reporter.nih.gov/v2/projects/search" -H "accept: application/json" -H "Content-Type: application/json" -d "{\"criteria\":{\"covid_response\":[\"Reg-CV\",\"CV\"]},\"include_fields\":[\"ApplId\",\"SubprojectId\",\"FiscalYear\",\"Organization\",\"ProjectNum\",\"OrgCountry\",\"ProjectNumSplit\",\"ContactPiName\",\"AllText\",\"FullStudySection\",\"ProjectStartDate\",\"ProjectEndDate\"],\"offset\":0,\"limit\":10}"
【问题讨论】:
标签: python-3.x python-requests api-design