0

I am trying to call the USPS API that takes in the zip code and returns XML containing the City Name of the given zip code.

Here is the URL they require:

http://production.shippingapis.com/ShippingAPITest.dll?API=CityStateLookup 
&XML=<CityStateLookupRequest USERID="xxxxxxx"><ZipCode ID= "0"> 
<Zip5>90210</Zip5></ZipCode></CityStateLookupRequest> 

In my PHP file, when I echo out the above URL, this is what I get:

http://production.shippingapis.com/ShippingAPITest.dll?API=CityStateLookup&XML=90007

All the XML part of the URL is missing. I need to get curl data from the URL.

Anyone know what I could be missing?

4

2 回答 2

1

有人知道我可能会错过什么吗?

大概。也许是的。您在帖子中描述的内容听起来像是编码问题。所以你缺少正确的编码。

当您谈论可能是 URL 编码的 URL 时。某些字符(例如空格)在 URL 中具有特殊含义,因此您不能随意使用任何字符,而是需要正确编码所有字符。

您需要如何制定 URL 的确切描述,包括。2.互联网标准 RFC3986 中的字符中概述了 URL 编码如何工作的确切描述。

与 URL 编码相关的 PHP 函数在您的情况下很有用urlencode()rawurlencode而且更有可能有用http_build_query()

于 2013-04-30T00:07:53.727 回答
1

如果您想将 xml 编码到 URL 中, http: //php.net/manual/en/function.urlencode.php应该可以帮助您入门。

于 2013-04-30T00:09:42.300 回答