首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DHL费率计算

DHL费率计算
EN

Stack Overflow用户
提问于 2010-11-03 15:35:45
回答 1查看 7.4K关注 0票数 2

在我的网站(php为基础)我想实现一个DHL的费率计算器。我想添加3个字段-1.原点,2.目的地和3.权重。这3个值将被发送到DHL服务器,作为回报,我想要的是速率。我该怎么做呢?

在另一个部分中,我将添加更多字段(地址、产品hts代码等)。用这3个来得到这个速率。怎么也能做到呢?

EN

回答 1

Stack Overflow用户

发布于 2011-05-30 18:53:56

以下是DHL费率计算器代码:您需要使用您的DHL站点is和密码更改站点is和密码。

代码语言:javascript
复制
<?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>1234567890123456789012345678901</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

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4084977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档