我正在尝试利用USPS API来做一些地址验证/验证。
我将这个XML发送到http://testing.shippingapis.com/ShippingAPITest.dll
<AddressValidateRequest%20USERID="xxxxx"><Address ID="0"><Address1></Address1><Address2>6406 Ivy Lane</Address2><City>Greenbelt</City><State>MD</State><Zip5></Zip5><Zip4></Zip4></Address></AddressValidateRequest>
这与他们的测试请求文档中显示的XML是相同的。但是,我总是得到一个HTML (而不是XML)响应,它是一个501未实现的错误。熟悉这个API的人知道可能会发生什么吗?我使用curl (在php中)发出请求
更新:当我通过在浏览器中输入url和get params来发出请求时,它似乎工作得很好,但我使用php/curl或从命令行直接使用curl得到了上面提到的错误。
更新:如果我使用带有url的file_get_contents,我会得到一个400错误的请求错误--但是如果我使用urlencode,它工作得很好--解决方案被接受了。
发布于 2010-10-23 11:43:46
不熟悉API,但是:
在AddressValidateRequest
之后还需要%20
吗?当它被一个空格代替时,它能工作吗?
另外,你需要使用CURL吗?您是否可以只使用fopen()
或file_get_contents()
,然后使用您提到的GET参数,工作正常?
https://stackoverflow.com/questions/4001202
复制相似问题