【发布时间】:2011-09-22 05:20:23
【问题描述】:
我在尝试 POST 时遇到异常,并且我的 JSON 包含一些国际字符。
这是我使用的代码:
HttpPost request = new HttpPost(serviceURL + url);
request.addHeader("Authorization", "Basic " + Preferences.getAuthorizationTicket(mContext));
request.addHeader("DeviceSerialNumber", Utility.getDeviceSerialNumber(mContext));
request.addHeader("OSVersion", "Android v" + Build.VERSION.RELEASE);
StringEntity entity = new StringEntity(requestData);
entity.setContentType("application/json;charset=UTF-8");
entity.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE,"application/json;charset=UTF-8"));
request.setEntity(entity);
ResponseHandler<String> handler = new BasicResponseHandler();
response.Body = mHttpClient.execute(request, handler);
response.Code = HttpURLConnection.HTTP_OK;
response.Message = "OK";
这是我得到的错误:
org.apache.http.client.HttpResponseException: 错误请求 org.apache.http.impl.client.BasicResponseHandler.handleResponse(BasicResponseHandler.java:71) 在 org.apache.http.impl.client.BasicResponseHandler.handleResponse(BasicResponseHandler.java:59) 在 org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:657) 在 org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:627) 在 org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:616) 在 com.idatt.common.AsyncProcessor.processPOST(AsyncProcessor.java:550) 在 com.idatt.common.AsyncProcessor.PostMail(AsyncProcessor.java:367) 在 com.idatt.common.AsyncProcessor.doInBackground(AsyncProcessor.java:120) 在 com.idatt.common.AsyncProcessor.doInBackground(AsyncProcessor.java:28) 在 android.os.AsyncTask$2.call(AsyncTask.java:185) 在 java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305) 在 java.util.concurrent.FutureTask.run(FutureTask.java:137) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561) 在 java.lang.Thread.run(Thread.java:1096)
当 requestData 没有任何国际(俄语、波兰语等)字母时,它可以正常工作。我想念什么?或者更好的是如何从 Fiddler 或其他东西中捕获的模拟器获取流量?
【问题讨论】:
标签: android json internationalization