0

我将此代码连接到 USPS API 并获得详细的响应长信息列表,然后是服务名称和费率。

我如何才能仅对由 (|) 分隔的服务名称和费率做出响应?

<?php
$devurl = "http://Production.ShippingAPIs.com/ShippingAPI.dll";
$puburl = "http://Production.ShippingAPIs.com/ShippingAPI.dll";
$service = "IntlRateV2";
$userid = "xxxxx";
$xml = rawurlencode('<IntlRateV2Request USERID="xxxxx">
<Package ID="1ST">
    <Pounds>15</Pounds>
    <Ounces>0</Ounces>
    <MailType>Package</MailType>
    <ValueOfContents>50</ValueOfContents>
    <Country>Jordan</Country>
    <Container>RECTANGULAR</Container>
    <Size>LARGE</Size>
    <Width>10</Width>
    <Length>15</Length>
    <Height>10</Height>
    <Girth>0</Girth>
    <CommercialFlag>N</CommercialFlag>
    </Package>  
</IntlRateV2Request>');
$request = $devurl . "?API=" . $service . "&xml=" . $xml;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $request);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_HTTPGET, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo "<pre>";
print_r($response);
echo "</pre>";
4

2 回答 2

0

USPS 以其预定义的格式发送响应。您必须将响应转换为 xml,然后使用循环解析它以转换为您想要的格式。

响应包括成本和交付时间各不相同的许多服务。在这里,我使用“xml2array”函数将 xml 转换为数组。你可以在网上找到或者联系我。转换成数组后,我们就可以解析服务了。

还可以访问以获取更多信息 - http://uspsship.blogspot.in/

于 2014-01-28T12:31:04.210 回答
0

我知道这是一篇旧帖子,但它可能会帮助其他人找到解决方案。

USPS 最近更改了他们的服务名称。您将从此API获得所有更新的名称

希望它有帮助..

于 2013-07-31T03:18:31.450 回答