Android - 使用 HttpURLConnection 来 POST XML 数据

2024-05-05

我遇到了一些死胡同,需要一些帮助(请)!

我对 Android 开发(以及一般编码)非常陌生。基本上我需要使用 HttpURLConnection 将 XML 数据发布到 URL,但无法让它工作。我的应用程序从 GET 请求读取并传递 XML 数据,但发现 POST 部分很困难。

我考虑过创建一个 NameValuePair 数组,但不确定如何使用我需要发布的 XML 结构来执行此操作。

XML 数据将如下所示:

<Sheet>
  <Job>jobNumber</Job> 
  <Task>taskNumber</Task> 
  <UserID>3</UserID> 
  <Date>systemDateFormatted</Date> 
  <Minutes>timeToLog</Minutes> 
  <Note>userNote</Note>
</Sheet>

到目前为止,我的代码已经有了这个。

try {
        URL url = new URL(theUrl);
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setReadTimeout(10000);
        conn.setConnectTimeout(15000);
        conn.setRequestMethod("POST");
        conn.setDoInput(true);
        conn.setDoOutput(true);


        List<NameValuePair> params = new ArrayList<NameValuePair>();
        params.add(new BasicNameValuePair("Sheet", null));
        params.add(new BasicNameValuePair("Job", jobNumber));
        params.add(new BasicNameValuePair("Task", taskNumber));
        params.add(new BasicNameValuePair("UserID", String.valueOf(yourUserID)));
        params.add(new BasicNameValuePair("Date", systemDateFormatted));
        params.add(new BasicNameValuePair("Minutes", timeElapsed));
        params.add(new BasicNameValuePair("UserNote", "Test Note"));
        params.add(new BasicNameValuePair("Sheet", null));

我不确定我是否正确理解 NamedValuePair。为我的 XML 数据创建一个字符串并以这种方式 POST 会更好吗?

Thanks!


是的,POST 数据作为您请求的负载。例如

URL url = new URL(theUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
try {
    conn.setReadTimeout(10000);
    conn.setConnectTimeout(15000);
    conn.setRequestMethod("POST");
    conn.setDoInput(true);
    conn.setDoOutput(true);
    String body = "<xml...</xml>";
    OutputStream output = new BufferedOutputStream(conn.getOutputStream());
    output.write(body.getBytes());
    output.flush();
finally {
    conn.disconnect();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android - 使用 HttpURLConnection 来 POST XML 数据 的相关文章

随机推荐