網上很多關於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();
}
}
}
}