如何使用 DHL API(德国)
Posted
技术标签:
【中文标题】如何使用 DHL API(德国)【英文标题】:How to consume a DHL API (Germany) 【发布时间】:2019-01-30 20:31:31 【问题描述】:我正在尝试跟踪货件以获取货件的状态和日期。为此,我正在查看德国网站上的 DHL 文档,但说实话并不是很好。
无论如何,我下载并阅读了一个测试套件,他们说:
如果您正在使用 GET 方法,您还可以查看链接, 所有必要的信息都包含在 URL 中。
在这里您可以找到完整的 URL 作为第一个条目:
获取 https://cig.dhl.de/services/sandbox/rest/sendungsverfolgung?xml=%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%20standalone%3D%22no%22%3F%3E%20%3Cdata%20appname%3D%22zt12345%22%20language-code%3D%22de%22%20password%3D%22geheim%22%20piece-code%3D%2200340434161094015902%22%20request%3D%22d-get-piece-detail%22%2F%3E%20 HTTP/1.1
您也可以将此链接放入浏览器。 (这样做对我不起作用) 该链接应该以 XML 格式输出。
所以我的问题是……我怎样才能从 php 中的那个 URL 获取信息?然后能够检索其中的特定信息。
【问题讨论】:
对我来说,“链接”看起来像是已经进行了 url 编码,大多数浏览器会再次对输入 url 执行此操作。您必须将所有%xx
替换为去十六进制字符,例如 %20
->space
如果信息包含在url中,可以parse_str
(php)url,url_decode
(php)查询部分xml参数。你会得到一个.....字符串可能?包裹在一些 xml 废话中。所以你可以通过一个 xml 解析器来运行它,什么不是......听起来工作量很大^^
那么,?xml=
之后的内容如下:<?xml version="1.0" encoding="UTF-8" standalone="no"?> <data appname="zt12345" language-code="de" password="geheim" piece-code="00340434161094015902" request="d-get-piece-detail"/>
我不知道您要查找什么样的信息...
【参考方案1】:
我认为最好的方法是使用这个可以很好地实现 DHL API 方法的库: https://github.com/alfallouji/DHL-API
您也可以参考这篇文章,其中讨论了使用 API 的不同方式: DHL Tracking Api and PHP
【讨论】:
以上是关于如何使用 DHL API(德国)的主要内容,如果未能解决你的问题,请参考以下文章
Woocommerce REST API:自定义字段而不是产品名称