网上很多关于http请求的代码都没有用线程的方式,然后请求一直发送不出去,后来发现是要用线程的方式来发送请求的,就写成了一个Http请求工具类。
public class HttpRequest{
Handler handler;
public HttpRequest(String url,Handler handler){
this.handler=handler;
new request(url).start();
}
public class request extends Thread {
String url = null;
public request(String url) {
this.url = url;
}
public void run() {
String message = "请求失败";
try {
HttpGet request = new HttpGet(url);
request.setHeader("charset", "UTF-8");
HttpClient httpClient = new DefaultHttpClient();
HttpResponse response = null;
try {
response = httpClient.execute(request);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
Message msg = new Message();
msg.arg1 = 2;
handler.sendMessage(msg);
}
if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
message = EntityUtils.toString(response.getEntity());
Message msg = new Message();
msg.arg1 = 1;
msg.obj = pan;
handler.sendMessage(msg);
} else {
Message msg = new Message();
msg.arg1 = 3;
handler.sendMessage(msg);
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
}