如何在 Java 中发送带有 XML 数据的 HTTPS POST 请求
Posted
技术标签:
【中文标题】如何在 Java 中发送带有 XML 数据的 HTTPS POST 请求【英文标题】:How do I send an HTTPS POST Request with XML Data in Java 【发布时间】:2011-10-18 23:58:36 【问题描述】:我是 android 新手,我正在构建一个应用程序来将带有 XML 数据(主要是登录名和密码)的 HTTPS POST 请求发送到 Web 服务。我试过了,我只成功地用登录页面返回了响应,不知道为什么登录凭据没有在服务器端验证。
有什么方法可以打印出写入 https 连接的数据,所以我确定 邮箱信息和密码已经发送到服务器了吗?
【问题讨论】:
【参考方案1】:我也做过类似的事情。我关注了this tutorial,它运行良好。在您的情况下,您只需将 XML 数据作为 POST 参数传递。
还记得在您的 POST 请求中包含所有隐藏的值。这可能是您登录失败的原因。
【讨论】:
【参考方案2】:您应该激活 apache commons http 客户端的 Logging 以查看发生了什么,将此行添加到您的主要活动的 onCreate()
方法:
java.util.logging.Logger.getLogger("org.apache.http.wire").
setLevel(java.util.logging.Level.FINEST);
java.util.logging.Logger.getLogger("org.apache.http.headers").
setLevel(java.util.logging.Level.FINEST);
在此之后在命令行上调用以下内容:
adb shell setprop log.tag.org.apache.http.headers VERBOSE
adb shell setprop log.tag.org.apache.http.wire VERBOSE
您将获得发送到服务器的内容以及在 logcat 中从服务器返回的内容的非常详细的输出(在 eclipse 中或仅使用 adb logcat
)
【讨论】:
以上是关于如何在 Java 中发送带有 XML 数据的 HTTPS POST 请求的主要内容,如果未能解决你的问题,请参考以下文章
如何在不使用带有java配置的spring的orm.xml中注册实体监听器?