0
在我的网站(基于PHP)我想实现DHL的费率计算器。我想添加3个字段 - 1.Origin,2.Destination和3.Weight。这3个值将被发送到DHL服务器,作为回报,我希望有速度。我怎样才能做到这一点?DHL税率计算
在另一节中,我将添加更多字段(地址,产品hts代码等)与这3个以获得速率。它怎么能做呢?
在我的网站(基于PHP)我想实现DHL的费率计算器。我想添加3个字段 - 1.Origin,2.Destination和3.Weight。这3个值将被发送到DHL服务器,作为回报,我希望有速度。我怎样才能做到这一点?DHL税率计算
在另一节中,我将添加更多字段(地址,产品hts代码等)与这3个以获得速率。它怎么能做呢?
以下是DHL费率计算器代码:您需要使用您的DHL网站ID和密码更改siteid和密码。
<?php
$data = '<?xml version="1.0" encoding="UTF-8"?>
<p:DCTRequest xmlns:p="http://www.dhl.com" xmlns:p1="http://www.dhl.com/datatypes" xmlns:p2="http://www.dhl.com/DCTRequestdatatypes" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.dhl.com DCT-req.xsd ">
<GetQuote>
<Request>
<ServiceHeader>
<MessageTime>'.date('c').'</MessageTime>
<MessageReference>123456789</MessageReference>
<SiteID>YOUR_DHL_SITE_ID</SiteID>
<Password>YOUR_DHL_PASSWORD</Password>
</ServiceHeader>
</Request>
<From>
<CountryCode>GB</CountryCode>
<Postalcode>WC1A</Postalcode>
</From>
<BkgDetails>
<PaymentCountryCode>US</PaymentCountryCode>
<Date>2011-06-06</Date>
<ReadyTime>PT10H21M</ReadyTime>
<ReadyTimeGMTOffset>+01:00</ReadyTimeGMTOffset>
<DimensionUnit>CM</DimensionUnit>
<WeightUnit>KG</WeightUnit>
<Pieces><Piece>
<PieceID>1</PieceID>
<Height>20</Height>
<Depth>20</Depth>
<Width>20</Width>
<Weight>19</Weight>
</Piece></Pieces>
<IsDutiable>N</IsDutiable>
<NetworkTypeCode>AL</NetworkTypeCode>
</BkgDetails>
<To>
<CountryCode>US</CountryCode>
<Postalcode>10101</Postalcode>
</To>
</GetQuote>
</p:DCTRequest>';
$tuCurl = curl_init();
curl_setopt($tuCurl, CURLOPT_URL, "https://xmlpitest-ea.dhl.com/XMLShippingServlet");
curl_setopt($tuCurl, CURLOPT_PORT , 443);
curl_setopt($tuCurl, CURLOPT_VERBOSE, 0);
curl_setopt($tuCurl, CURLOPT_HEADER, 0);
curl_setopt($tuCurl, CURLOPT_POST, 1);
curl_setopt($tuCurl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($tuCurl, CURLOPT_POSTFIELDS, $data);
curl_setopt($tuCurl, CURLOPT_HTTPHEADER, array("Content-Type: text/xml","SOAPAction: \"/soap/action/query\"", "Content-length: ".strlen($data)));
$tuData = curl_exec($tuCurl);
curl_close($tuCurl);
$xml = simplexml_load_string($tuData);
print "<pre>";
print_r($xml);
?>
更多参考请点击以下链接:
http://xmlpitest-ea.dhl.com/serviceval/jsps/main/Main_menu.jsp
我该怎么做
你可以访问任何DHL API? – 2010-11-03 07:46:28
不,我没有访问权限。我如何获得访问权限? – 2010-11-04 03:06:55
我建议你注册访问他们的XML API: http://www.dhl-usa.com/xml/index.asp – 2010-11-03 07:47:59