我正在尝试调用接收邮政编码的USPS API并返回包含给定邮政编码的城市名称的XML。
以下是他们需要的网址:
http://production.shippingapis.com/ShippingAPITest.dll?API=CityStateLookup
&XML=<CityStateLookupRequest USERID="xxxxxxx"><ZipCode ID= "0">
<Zip5>90210</Zip5></ZipCode></CityStateLookupRequest>
在我的PHP文件中,当我回显上面的URL时,这就是我得到的:
http://production.shippingapis.com/ShippingAPITest.dll?API=CityStateLookup&XML=90007
缺少网址的所有XML部分。我需要从URL获取curl数据。
任何人都知道我可能缺少什么?
答案 0 :(得分:1)
任何人都知道我可能缺少什么?
可能。也许是吧。您在发布中描述的内容听起来像编码问题。所以你错过了正确的编码。
正如您所说的URL可能是URL编码。某些字符(如空格)在URL中具有特殊含义,因此您不能只使用任何字符,但需要对所有字符进行正确编码。
确切描述如何制定包含的URL。 2. Characters in the internet standard RFC3986概述了URL编码的工作原理。
与URL编码相关的PHP函数是 urlencode()
和 rawurlencode
,在您的案例http_build_query()
中更有用。
答案 1 :(得分:1)