我有一段代码将post数据包发送到某个地方。 我想在屏幕上输出状态代码,例如200表示OK,或400表示错误请求。 数字或字符串,我现在拥有的东西:
response.getStatusLine().getStatusCode()
其中response是一个HttpResponse,但我需要将它与HttpStatus.SC_OK或其他任何东西进行比较。 该帖子发生在AsyncTask类中,该类执行post.execute()对象。 返回值是一些“com.example ..... postAsync @#NUMBER#”。数字是随机的,而不是响应类型。 我该怎么办?
编辑:更多代码:
HttpResponse response = null;
StringEntity tmp = null;
HttpPost httpPost = null;
DefaultHttpClient httpClient;
HttpContext localContext;
public String post(String url,String data) {
httpClient = new DefaultHttpClient();
httpPost = new HttpPost(url);
localContext = new BasicHttpContext();
String ret = "";
try {
tmp = new StringEntity("value={ \"n\": " + data + " }","UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
httpPost.setEntity(tmp);
httpPost.setHeader("Content-Type", "application/x-www-form-urlencoded");
try {
response = httpClient.execute(httpPost,localContext);
if (response != null) {
ret = "" + response.getEntity();
}
} catch (Exception e) {
e.printStackTrace();
}
return ret;
}
它就像我获取响应的内容,我只感兴趣,如果它发送好或不。
答案 0 :(得分:0)
试试这样:
response = httpClient.execute(httpPost,localContext);
StatusLine statusLine = response.getStatusLine();
int statusCode = statusLine.getStatusCode(); // This will be 200 or 404, etc.