【发布时间】:2012-02-22 06:02:06
【问题描述】:
我想将 JSON 文本 {} 发送到网络服务并读取响应。我怎样才能从android做到这一点?创建请求对象、设置内容头等步骤有哪些?
我的代码在这里
public void postData(String result,JSONObject obj) {
// Create a new HttpClient and Post Header
HttpClient httpclient = new DefaultHttpClient();
HttpParams myParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(myParams, 10000);
HttpConnectionParams.setSoTimeout(myParams, 10000);
String json=obj.toString();
try {
HttpPost httppost = new HttpPost(result.toString());
StringEntity se = new StringEntity(obj.toString());
se.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
httppost.setEntity(se);
HttpResponse response = httpclient.execute(httppost);
String temp = EntityUtils.toString(response.getEntity());
Log.i("tag", temp);
} catch (ClientProtocolException e) {
} catch (IOException e) {
}
}
我犯了什么错误请纠正我,因为它显示了一个错误的请求错误 但是当我在海报上发帖时,它显示我的状态为 Successl 200 ok
【问题讨论】:
-
尝试设置此类型
entity.setContentType("application/json;charset=UTF-8"); entity.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, "application/json;charset=UTF-8")); -
@Soni 不,它不适合我,我试过了,但它显示错误请求错误
-
@Soni 唯一犯的错误是我在下面的帖子中没有像这样设置标题 httppost.setHeader("Content-type", "application/json");