[英]Using python-requests to get tracking details from DHL
我正在嘗試創建一個腳本,以通過 DHL API 從我們公司獲取所有訂單的所有跟蹤詳細信息。
我嘗試執行以下腳本以連接到 DHL API。
import requests
import json
import http.client
# Replace with the correct URL
url = "https://api-eu.dhl.com/track/shipments?trackingNumber=*************&requesterCountryCode=DE&originCountryCode=DE&language=en"
headers = {
'Accept': 'application/json',
'DHL-API-Key': '*********'
}
#connection = http.client.HTTPSConnection("https://api-eu.dhl.com")
myResponse = requests.get(url, headers)
if(myResponse.ok):
to fetch binary content
jData = json.loads(myResponse.content)
print("The response contains {0} properties".format(len(jData)))
print("\n")
for key in jData:
print (key + " : " + jData[key])
else:
with description
myResponse.raise_for_status()
但它顯示以下錯誤,
Traceback (most recent call last):
File "/Users/sand/Documents/DHL Python.py", line 28, in <module>
myResponse.raise_for_status()
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/requests/models.py", line 940, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 401 Client Error: Unauthorized for url: https://api-eu.dhl.com/track/shipments?trackingNumber=***************&requesterCountryCode=DE&originCountryCode=DE&language=en
所以我想澄清一下,
我們需要做哪些事情才能將其連接到 DHL 跟蹤 API?
我在 DHL 開發門戶創建了一個帳戶並填寫了詳細信息,對於選擇 API 部分,我只能選擇 2,當我選擇其他 API 時,它顯示為 Ïn Progress”,所以我刪除了它。
我得到了“消費者密鑰”和“消費者秘密”,從哪里可以獲得令牌,或者這足以連接 API?
除此之外,我還需要做任何其他設置,因為我是新手,所以任何建議都會有很大幫助。
單擊隱藏使用者密鑰的星號下方的顯示鏈接。 消費者密鑰 == 'DHL-API-Key' 出現。
問題:從 DHL 獲取跟蹤詳細信息 - 我是否需要進行任何其他設置
從 python-requests.org 快速入門:
使用來自給定DHL 的requests
而不是http.client
-您必須執行的簡單 Python 代碼示例:
import requests
url = "https://api-eu.dhl.com/track/shipments"
headers = {
'Accept': 'application/json',
'DHL-API-Key': 'ApiKeyHere'
}
payload = {
'trackingNumber': '7777777770',
'service': 'express'
}
# This url is for testing
url = 'https://httpbin.org/get'
resp = requests.get(url, params=payload, headers=headers)
print(resp.content)
輸出:
resp.content
{ "args": { "service": "express", "trackingNumber": "7777777770" }, "headers": { "Accept": "application/json", "Accept-Encoding": "gzip, deflate", "Dhl-Api-Key": "ApiKeyHere", "Host": "httpbin.org", "User-Agent": "python-requests/2.22.0" }, "origin": "54.224.8.86, 54.224.8.86", "url": "https://httpbin.org/get?trackingNumber=7777777770&service=express" }
用 Python 3.6 測試 - python-requests/2.22.0
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.