这可能是一个微不足道的问题,但我试图发送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