从 Swagger 请求公司列表 UI
Requesting list of Companies from Swagger UI
我开始了一个新项目,我试图从 REST API 获取数据。此 API 的文档可在此处获得:https://www.zefixintg.admin.ch/ZefixPublicREST/swagger-ui/index.html?configUrl=/ZefixPublicREST/v3/api-docs/swagger-config#/.
我对以下内容特别感兴趣:/api/v1/company/search。
很遗憾,我的以下查询无法收到 200 响应。相反,它总是导致授权错误 401:
import requests
from requests.auth import HTTPBasicAuth
params= {"activeOnly": TRUE}
response = requests.get(url='https://www.zefixintg.admin.ch/ZefixPublicREST/api/v1/company/search',
auth= HTTPBasicAuth('<user>', '<password>'),
params=params)
print(response.status_code)
我不确定我应该用什么其他方式来授权自己,因为我被告知我只需要 API 所有者提供给我的用户名和密码。我对这个用例使用的方法不正确吗?
感谢支持!
弗雷德
我找到了解决我自己问题的方法,其中包括将身份验证放入 header、对用户和密码进行编码以及 re-labeling 我的参数到有效负载的:
import requests
import json
url = "https://www.zefixintg.admin.ch/ZefixPublicREST/api/v1/company/search"
payload = json.dumps({
"activeOnly": True,
"legalSeatId": 460
})
headers = {
'Content-Type': 'application/json',
'Authorization': 'Basic <user/password>'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
请注意,我没有在查询中包含编码的 user/password。为了找到解决方案,它确实帮助我使用 Postman 来测试我的 api 请求。
我开始了一个新项目,我试图从 REST API 获取数据。此 API 的文档可在此处获得:https://www.zefixintg.admin.ch/ZefixPublicREST/swagger-ui/index.html?configUrl=/ZefixPublicREST/v3/api-docs/swagger-config#/.
我对以下内容特别感兴趣:/api/v1/company/search。
很遗憾,我的以下查询无法收到 200 响应。相反,它总是导致授权错误 401:
import requests
from requests.auth import HTTPBasicAuth
params= {"activeOnly": TRUE}
response = requests.get(url='https://www.zefixintg.admin.ch/ZefixPublicREST/api/v1/company/search',
auth= HTTPBasicAuth('<user>', '<password>'),
params=params)
print(response.status_code)
我不确定我应该用什么其他方式来授权自己,因为我被告知我只需要 API 所有者提供给我的用户名和密码。我对这个用例使用的方法不正确吗?
感谢支持!
弗雷德
我找到了解决我自己问题的方法,其中包括将身份验证放入 header、对用户和密码进行编码以及 re-labeling 我的参数到有效负载的:
import requests
import json
url = "https://www.zefixintg.admin.ch/ZefixPublicREST/api/v1/company/search"
payload = json.dumps({
"activeOnly": True,
"legalSeatId": 460
})
headers = {
'Content-Type': 'application/json',
'Authorization': 'Basic <user/password>'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
请注意,我没有在查询中包含编码的 user/password。为了找到解决方案,它确实帮助我使用 Postman 来测试我的 api 请求。