我正在嘗試使用USPS API來驗證地址。我已經完成註冊過程,測試和推廣到生產。USPS API地址驗證失敗
我使用PHP和simplexml_load_file函數進行調用。當我做在PHP中的調用,USPS返回一個錯誤:
[Number] => 80040B1A
[Description] => API Authorization failure. Verify is not a valid API name for this protocol.
[Source] => USPSCOM::DoAuth
如果我複製並粘貼傳遞給使用simplexml_load_file功能的URL,我得到一個成功的響應:
<AddressValidateResponse><Address ID="0"><Address2>1228 E MAIN ST</Address2><City>MONTROSE</City><State>CO</State><Zip5>81401</Zip5><Zip4>5821</Zip4></Address></AddressValidateResponse>
的網址我m使用是(用戶ID已更改):
http://production.shippingapis.com/ShippingAPI.dll?API=Verify&XML=%3CAddressValidateRequest%20USERID=%123usrid456%27%3E%3CAddress%20ID=%270%27%3E%3CAddress1%3E1228%20East%20Main%20Street%3C/Address1%3E%3CAddress2%3E%3C/Address2%3E%3CCity%3EMontrose%3C/City%3E%3CState%3ECO%3C/State%3E%3CZip5%3E81401%3C/Zip5%3E%3CZip4%3E%3C/Zip4%3E%3C/Address%3E%3C/AddressValidateRequest%3E
我已經撥打了800次ICCC USPS號碼兩次。文檔缺乏幾個方面,例如,他們說在註冊後,電子郵件將包含測試服務器的URL,但它們不在電子郵件中。此外,不得不打電話尋求支持並每次等待一小時左右都令人沮喪。好的,這麼抱怨。否則,USPS真棒。
我已經閱讀了大量的文章,並嘗試了建議的內容,但一直未能在PHP中進行調用。以下是我已經試過:
- 進行urlencode提交的網址
- 進行urlencode整個URL XML字符串
- 測試和生產服務器
- 捲曲的,而不是使用simplexml_load_file
- 我複製從瀏覽器地址欄起作用的url並將其粘貼到PHP代碼中 - 我仍然得到相同的錯誤。
我很茫然,因爲我應該接下來嘗試。特別是當我將url傳遞給simplexml_load_file並將其複製/粘貼到瀏覽器地址欄中時可以正常工作。
這裏是我試過一個片段:
$url = "http://production.shippingapis.com/ShippingAPI.dll?API=Verify&XML=<AddressValidateRequest%20USERID='123usrid456'><Address ID='0'><Address1></Address1><Address2>1228 East Main Street</Address2><City>Montrose</City><State>CO</State><Zip5>81401</Zip5><Zip4></Zip4></Address></AddressValidateRequest>";
$addr_data = simplexml_load_file($url);
用戶ID改變在上面的代碼中
我敢肯定,我失去了一些東西明顯。
在此先感謝!
斯隆
謝謝。我按照你的建議做了,但是在使用curl時我沒有得到任何結果。我將這些選項設置爲: curl_setopt($ ch,CURLOPT_FRESH_CONNECT,TRUE); \t curl_setopt($ ch,CURLOPT_TRANSFERTEXT,TRUE); \t curl_setopt($ ch,CURLOPT_RETURNTRANSFER,TRUE); \t curl_setopt($ ch,CURLOPT_URL,$ url); \t curl_setopt($ ch,CURLOPT_HEADER,false); \t $ rslt = curl_exec($ ch); $ rslt是空的... –
您可以請求一份Firefox調試器(F12)Net面板列表請求標題的副本嗎?也許我們可以從中找出一些東西。你可以嘗試的另一件事是,如果你把它放到隱私瀏覽窗口中,URL是否也可以工作。 –