2010-10-22 58 views
1

我試圖利用USPS API做一些地址驗證/認證。USPS API返回501未執行

我送這個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沒有Implmented錯誤。任何熟悉此API的人都知道可能會發生什麼?我使用捲曲(在php)作出請求

更新:當我通過輸入網址到瀏覽器與獲取參數的請求,它似乎工作正常,但我得到上面提到的錯誤使用PHP /捲曲或僅從命令行卷曲。

更新:如果我使用的file_get_contents與網址,我得到一個400錯誤的請求錯誤 - 但如果我用urlencode,它的偉大工程 - 解決方案接受。

+0

如果您有任何更多的問題,Greggory,我會很樂意提供幫助。我爲一家名爲SmartyStreets的公司工作,我們也在使用官方USPS數據驗證地址。美國郵政總局API,而不是* *壞每本身,是不是該任務必然強勁,美國郵政的業務核心是不提供高質量的API。雖然我可能偏向於我們自己的API(LiveAddress),但如果您需要更多性能和更易於使用的東西,我可能會建議您爲自己尋求其他免費替代方案。 – Matt 2012-02-06 20:03:44

回答

1

不熟悉的API,但是:

你需要AddressValidateRequest%20?當它被一個空間所取代時它是否有效?

另外,你需要使用CURL?你可以只使用fopen()file_get_contents(),然後用你提到的工作確定的GET參數?

+0

顯示的XML與USPS文檔僅在該位置顯示%20相同。不過,我嘗試用空格替換它,並用%20替換所有空格。我會首先給file_get_contents方法一個機會,然後回報。謝謝! – gregghz 2010-10-23 19:14:50

+0

使用file_get_contents時,出現400錯誤請求錯誤。 – gregghz 2010-10-25 15:48:36

+0

劃痕。 file_get_contents的作品(當我urlencode>。<)這對我來說已經夠用了!謝謝! – gregghz 2010-10-25 15:55:30