如何为 USPS django 发出 Curl 请求 python
How to make Curl request for USPS django python
我正在使用 USPS API 跟踪包裹我想为跟踪包裹发出 curl 请求。
这是我在 USPS API 跟踪包裹文档中找到的内容。
> http://production.shippingapis.com/ShippingApi.dll?API=TrackV2&XML=<TrackFieldRequest
> USERID="xxxxxxxxxx"> <TrackID ID="XXXXXXXXXXXXX"> </TrackID>
>
> </TrackFieldRequest>
现在我正在尝试在 django 中发出 curl 请求,这就是我正在做的,但它 working.Is 这不是在 django 中解析 xml/url 的正确方法。
def get_tracking_status(self):
try:
headers = {'Content-Type': 'application/xml'}
xml = "<TrackFieldRequest USERID='xxxxxxxxxx'><TrackID ID='XXXXXXXXXXXXX'></TrackID></TrackFieldRequest>"
requests.post("http://production.shippingapis.com/ShippingApi.dll?API=TrackV2", headers=headers, data=xml)
except Exception as e:
print e
您通过 CURL 发出的请求有两个查询参数:API,其值为 "TrackV2",以及 XML,其值为 xml blob。你应该对请求做同样的事情:
requests.get("http://production.shippingapis.com/ShippingApi.dll", data={'API': 'TrackV2', 'XML': xml}, headers=headers)
另请注意,它似乎是 GET,而不是 POST。
我正在使用 USPS API 跟踪包裹我想为跟踪包裹发出 curl 请求。
这是我在 USPS API 跟踪包裹文档中找到的内容。
> http://production.shippingapis.com/ShippingApi.dll?API=TrackV2&XML=<TrackFieldRequest > USERID="xxxxxxxxxx"> <TrackID ID="XXXXXXXXXXXXX"> </TrackID> > > </TrackFieldRequest>
现在我正在尝试在 django 中发出 curl 请求,这就是我正在做的,但它 working.Is 这不是在 django 中解析 xml/url 的正确方法。
def get_tracking_status(self):
try:
headers = {'Content-Type': 'application/xml'}
xml = "<TrackFieldRequest USERID='xxxxxxxxxx'><TrackID ID='XXXXXXXXXXXXX'></TrackID></TrackFieldRequest>"
requests.post("http://production.shippingapis.com/ShippingApi.dll?API=TrackV2", headers=headers, data=xml)
except Exception as e:
print e
您通过 CURL 发出的请求有两个查询参数:API,其值为 "TrackV2",以及 XML,其值为 xml blob。你应该对请求做同样的事情:
requests.get("http://production.shippingapis.com/ShippingApi.dll", data={'API': 'TrackV2', 'XML': xml}, headers=headers)
另请注意,它似乎是 GET,而不是 POST。