这可能是一个微不足道的问题,但我正在尝试向 USPS 发送网络请求以获取包含基于我发送的跟踪号的跟踪信息的 http 发布响应(或电子邮件响应,具体取决于我的请求)。文档说xml 需要附加为 url 的一部分,如下所示
http://secure.shippingapis.com/ShippingAPITest.dll?API=TrackV2&XML=<PTSEmailRequest USERID="xxxxx"><TrackId>xxxxx</TrackId><RequestType>EN</RequestType></PTSEmailRequest>
我看到有两种方法可以发出 xml 请求,一种是 using HttpPost
,另一种是URLConnection
. 我对我的处理方式有点失望,我无法理解在 url 中附加 xml 和正常的 http 请求之间有什么区别。有人可以帮我清理一下吗?
USPS 跟踪文档 => https://www.usps.com/business/web-tools-apis/track-and-confirm.pdf
我阅读了这些相关的 Stackoverflow 帖子
Java:如何发送 XML 请求?
在java中发布XML请求
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();
}