我遇到了一些负面因素,需要一些帮助(请)!
我是Android Dev(和一般编码)的新手.基本上我需要使用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更好吗?
谢谢!
解决方法
是的,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(); }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。