我想将一些数据从Android应用程序上传到Pachube。
[更新:对于2013年阅读此内容的人来说,“Pachube”成为“Cosm”,现在是“Xively”。]
This hurl由他们的documentation提供。
如何通过Android的HttpPut(或HttpPost)实现来实现这一目标?
我真的不想添加任何额外的库,因为我想让应用程序尽可能小。
我已经有一个包含我数据的JSONObject。
答案 0 :(得分:11)
这是一些伪代码。请注意,您不应在PUT请求中发送表单url编码数据,因为它可能会破坏服务器端OAuth(如果使用):
HttpClient client = new DefaultHttpClient();
HttpPut put = new HttpPut(url);
put.addHeader("Content-Type", "application/json");
put.addHeader("Accept", "application/json");
put.setEntity(new StringEntity(jsonObj.writeValue()));
HttpResponse response = client.execute(put);
答案 1 :(得分:1)
在没有任何其他库的情况下在Java / Android中执行此操作的一种方法是:
URL url = new URL("http://www.example.com/whatever");
HttpURLConnection httpCon = (HttpURLConnection) url.openConnection();
httpCon.setDoOutput(true);
httpCon.setRequestMethod("PUT");
OutputStreamWriter out = new OutputStreamWriter(httpCon.getOutputStream());
out.write("Data you want to put"); // for example your JSON object
out.close();
更新 - 根据评论:
您可以通过致电httpCon.getInputStream()
和/或httpCon.getErrorStream()
等获取回复。