如果任何人有與美國郵政發貨確認API的經驗,我會很感激我使用PHP和捲曲發送XML請求到DC API的任何見解,我可以得到...USPS API混亂
。當我通過cURL發送回覆時,我什麼都沒有收到。沒有錯誤響應,沒有XML或任何東西。當我通過瀏覽器發送XML時,出現錯誤響應,至少是一個響應。我處於停滯狀態,因爲我通過瀏覽器通過瀏覽器(根據他們的支持線)得到的錯誤意味着他們的服務器問題正在影響API。但是,我不知道爲什麼我無法通過cURL來獲得這種迴應。
如果任何人有與美國郵政發貨確認API的經驗,我會很感激我使用PHP和捲曲發送XML請求到DC API的任何見解,我可以得到...USPS API混亂
。當我通過cURL發送回覆時,我什麼都沒有收到。沒有錯誤響應,沒有XML或任何東西。當我通過瀏覽器發送XML時,出現錯誤響應,至少是一個響應。我處於停滯狀態,因爲我通過瀏覽器通過瀏覽器(根據他們的支持線)得到的錯誤意味着他們的服務器問題正在影響API。但是,我不知道爲什麼我無法通過cURL來獲得這種迴應。
我們使用地址驗證API和.NET,而不是傳遞確認和PHP,但也許我可以提供幫助。
您發送郵局的XML應該只是查詢字符串像這樣的聚會:
https://servername/ShippingAPITest.dll?API=DeliveryConfirmationV3&XML=<DeliveryConfirmationV3.0Request USERID="username">…….</DeliveryConfirmationV3.0Request>
然後,他們只是爲你服務了一個XML文檔的右後衛。我從來沒有使用cURL庫,但也許你可以檢查這是它實際發送的。
另外,你有沒有被批准?如果沒有,那麼他們只允許罐裝測試響應。其他任何東西都會給你一個錯誤,即使它在生產服務器上有效。
我懷疑是因爲XML內容聽起來像是有效的(或者至少像USPS的服務器正確讀取它)那樣,請求結構中的某些內容已關閉(例如,缺少標題)。
我們的USPS API的實現使用與fsockopen
原始TCP/IP連接,它的優點是我可以準確地證實了我們的請求的結構正在發送:唯一的頭,我們POST /ShippingAPI.dll HTTP/1.0
'包括請求是這些:
User-Agent: (foo)\r\n
Host: (bar)\r\n
Content-Type: text/xml\r\n
Content-Length: strlen($xml)\r\n\r\n
這是否匹配通過cURL發送的內容?
我現在只使用測試服務器,這是我剛剛嘗試獲取固定響應的錯誤。我已經證實了USPS的支持,只要試圖讓測試運行正常,我的帳戶就沒有任何問題。 – 2009-08-20 16:11:56