這可能是一個微不足道的問題,但我試圖發送Web請求到美國郵政獲取http郵寄回復(或電子郵件迴應取決於我的請求)包含跟蹤信息基於我在發送跟蹤號碼。該文件說,XML需要追加爲URL的一部分像下面發送XML作爲URL中的Java請求的一部分
http://secure.shippingapis.com/ShippingAPITest.dll?API=TrackV2&XML=<PTSEmailRequest USERID="xxxxx"><TrackId>xxxxx</TrackId><RequestType>EN</RequestType></PTSEmailRequest>
我看到有2種方式,使一個XML請求,一個使用HttpPost
和其他URLConnection
。我有點拋出我如何去了解這一點,我不明白什麼是追加URL中的xml和一個正常的http請求之間的區別。有人可以幫我清理一下嗎?
用於跟蹤=> https://www.usps.com/business/web-tools-apis/track-and-confirm.pdf
USPS文檔我讀這些相關#1帖子
Java: How to send a XML request?
posting XML request in java
HttpClient httpclient = HttpClients.createDefault();
HttpPost httppost = new HttpPost("http://secure.shippingapis.com/ShippingAPITest.dll");
List<String> params = new ArrayList<String>(2);
params.add(new BasicNameValuePair("API", "TrackV2"));
params.add(new BasicNameValuePair("XML", FuncTOGenerateXML()));
httppost.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
if (entity != null) {
InputStream instream = entity.getContent();
//.....
// .....
instream.close();
}
謝謝你的回覆。我理解GET和POST請求之間的區別,在這種情況下,我會在發送值時發送POST請求。我打算問的是,我是否應該儘快發佈一個常規郵件請求,儘管xml是url的一部分?看到我更新的帖子。 – crazyim5
如果您正在執行POST請求,則數據不應該是URL的一部分(或者,如果數據是URL的一部分,則應該執行GET請求)。也就是說,有些網站是sl or or bad的或實施得不好,並可能希望您在URL和連接負載中發送數據。至於美國郵政,根據您在鏈接中提供的文檔,似乎期望得到一個GET請求(即使我在URL中發現了一點奇怪的XML)。 – SJuan76
感謝您的輸入。是的,有點奇怪的是xml被請求作爲URL的一部分,因爲這可能會導致一個非常大的url字符串,但如果他們的服務器可以處理它,那麼應該沒問題。 – crazyim5