java - 在 java 中发布 XML 请求

标签 java http

如何使用 HTTP POST 将 XML 请求发布到 URL 并检索响应?

更新 抱歉,我想我的问题不清楚。我想知道如何使用 HttpClient 将 XML 请求发布到 URL或 URLConnection并将响应作为 POST 参数获取并将其显示在网页中。

最佳答案

下面是一个如何使用 java.net.URLConnection 完成此操作的示例:

String url = "http://example.com";
String charset = "UTF-8";
String param1 = URLEncoder.encode("param1", charset);
String param2 = URLEncoder.encode("param2", charset);
String query = String.format("param1=%s&param2=%s", param1, param2);

URLConnection urlConnection = new URL(url).openConnection();
urlConnection.setUseCaches(false);
urlConnection.setDoOutput(true); // Triggers POST.
urlConnection.setRequestProperty("accept-charset", charset);
urlConnection.setRequestProperty("content-type", "application/x-www-form-urlencoded");

OutputStreamWriter writer = null;
try {
    writer = new OutputStreamWriter(urlConnection.getOutputStream(), charset);
    writer.write(query); // Write POST query string (if any needed).
} finally {
    if (writer != null) try { writer.close(); } catch (IOException logOrIgnore) {}
}

InputStream result = urlConnection.getInputStream();
// Now do your thing with the result.
// Write it into a String and put as request attribute
// or maybe to OutputStream of response as being a Servlet behind `jsp:include`.

关于java - 在 java 中发布 XML 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2735839/

相关文章:

java - 我如何给此列表中的每个人加薪

java - Autowired 在自定义约束 validator 中给出 Null 值

java - 从 Java 中的 XML 中删除命名空间

java - getChildNodes 给出意想不到的结果

http - HTTP 请求+响应的名称

http 代理 heroku 登录 enotfound : getaddrinfoo enotfound api. heroku.com:443

java - 结合RxJava了解Android内存泄漏

api - 由于 User-Agent header 无效而拒绝请求时更正 HTTP 状态代码

http - Meteor HTTP POST 中的新行

java - 从 ajax 发送 POST 方法后出现 404 错误(@ResponseStatus 和 ResponseEntity)