注-我很新的这一切。道歉,如果有什么不清楚。
我的首要目标是从 DVLA API 中提取大量车辆的 MOT 历史数据。我知道这可以使用 Postman 来完成,我正在使用它(在 64 位 Windows 笔记本电脑上,如果相关的话)。
DVLA 提供以下说明
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
入门
所有 API 接口都实现为 restful API 并通过 https 访问。
要访问 API,您将需要一个唯一标识请求源的 API 密钥。如果 DVSA 批准您的应用程序,它将为您提供一个 API 密钥。
您应该保持 API 密钥的安全,因为 DVSA 在 API 密钥级别管理限制和配额。
每个请求的标头中必须包含以下必填字段:
Accept:application / json + v6 x-api-key:Content-type 字段确认响应类型为 JSON 格式,x-api-key 字段为您的 API 密钥提供服务以标识请求的来源。
技术资源
在https://beta.check-mot.service.gov.uk/访问 API
当服务从测试版移动到实时时,此根 URL 将更改。
这 4 个端点等同于使用 API 的 4 种方法:
/ trade / vehicles / mot-tests?registration = {registration}
“注册”是车辆注册号。
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
为了测试这是可能的,我在 Postman 中输入以下单个请求,选择“POST”并点击“SEND”
https://beta.check-mot.service.gov.uk/trade/vehicles/mot-tests?Content-type=application/json&x-api-key=ABCDEFGH®istration=MYREGn.b.ABCDEFH 或 MYREG 的实际值周围没有倒置逗号或其他标点符号
预期结果:此车辆的某种带有 MOT 历史记录的 JSON
实际结果:{"message":"Missing Authentication Token"} {"message":"Missing Authentication Token"}
我不清楚:-我是否应该使用 POST
应用程序后的 + v6 是必要的(其他文档将其排除在外)
为什么“Accept”和“Content-type”在文档中可以互换使用
参数的顺序是否重要
是否可以通过简单地将 URL 粘贴到浏览器中来进行同样的测试
感谢您的任何帮助
阅读这里找到的文档:
https://dvsa.github.io/mot-history-api-doentation/它提到这些字段应添加为Headers
:
Each request must have the following mandatory fields in
the header:
- Accept: application/json+v6
- x-api-key: <your api key>
网站上有示例cURL
请求来帮助您创建请求。
如果您在应用程序中使用 Postman 的Import
功能(位于右上角),则可以在Paste Raw Text
选项卡中添加此 cURL 请求。
curl -H "Accept: application/json+v6" -H "x-api-key: <your_api_key>" https://beta.check-mot.service.gov.uk/trade/vehicles/mot-tests\?registration=ZZ99ABC
从这里,您将能够添加自己的 API 令牌并发送请求。
如果您使用的是 Postman,则可以使用请求下的Autrization
选项卡来提供所需的强制标头字段。从Add to
下拉列表中选择Header
。您还可以使用名为Headers
的下一个选项卡添加其他标头信息。(例如,accept-headers)。
Headers Tab
Normally, you suld be getting the autrization token when yoegister to the site in question(x-api-key here).You need to figure out the value of that token from the initial call's response headers. According to the doent which Danny shared, you will be getting x-api-key from them once they approve your request.
编辑:或者,您可以使用导入功能,如 Danny 在他的答案中建议的那样。在一天结束时,您需要添加值作为标题而不是查询参数。
对于使用 Pytn 与 MOT 历史 API 并获得相同错误消息的任何人,请尝试 GET:
import requests
url = f'https://beta.check-mot.service.gov.uk/trade/vehicles/mot-tests?registration={plate_number}'
payload = {}
headers = {
'Accept': 'application/json+v6',
'x-api-key': 'your-api-key'}
response = requests.get(url, headers=headers, data=payload)
data = response.json()
model = data[0]['model'] # get the vehicle model for example
print(model)
本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(46条)