http请求方式httpURLContention和httpClient

package com.example.http;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.annotation.SuppressLint;
import android.app.Activity;
@SuppressLint("HandlerLeak")
public class MainActivity extends Activity {
 private static final int SHOW_RESPONSE = 0;
 private TextView textView;
 private Button button;
 private Handler handler = new Handler() {
  public void handleMessage(Message msg) {
   switch (msg.what) {
   case SHOW_RESPONSE:
    String response = (String) msg.obj;
    textView.setText(response);
    break;
   }
  }
 };
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  textView = (TextView) findViewById(R.id.webview);
  button = (Button) findViewById(R.id.button);
  button.setOnClickListener(new OnClickListener() {
   @Override
   public void onClick(View v) {
    // sendRequestWithHttpConnection();
    sendRequestWithHttpClient();
   }
  });
 }
 /**
  * httpclient网络访问
  */
 protected void sendRequestWithHttpClient() {
  new Thread(new Runnable() {
   @Override
   public void run() {
    try {
     HttpClient httpClient = new DefaultHttpClient();
     HttpGet httpGet = new HttpGet("http://www.baidu.com");
     HttpResponse httpResponse = httpClient.execute(httpGet);
     if (httpResponse.getStatusLine().getStatusCode() == 200) {
      // 请求成功
      HttpEntity entity = httpResponse.getEntity();
      String response = EntityUtils.toString(entity, "utf-8");
      Message message = new Message();
      message.what = SHOW_RESPONSE;
      message.obj = response.toString();
      handler.sendMessage(message);
     }
    } catch (Exception e) {
     e.printStackTrace();
    } finally {
    }
   }
  }).start();
 }
 /**
  * httpURLConnection网络访问
  */
 protected void sendRequestWithHttpConnection() {
  new Thread(new Runnable() {
   @Override
   public void run() {
    HttpURLConnection connection = null;
    try {
     URL url = new URL("http://www.baidu.com");
     connection = (HttpURLConnection) url.openConnection();
     connection.setRequestMethod("GET");
     connection.setConnectTimeout(8000);
     connection.setReadTimeout(8000);
     connection.setDoInput(true);
     connection.setDoOutput(true);
     InputStream inputStream = connection.getInputStream();
     BufferedReader reader = new BufferedReader(
       new InputStreamReader(inputStream));
     StringBuffer response = new StringBuffer();
     String line;
     while ((line = reader.readLine()) != null) {
      response.append(line);
     }
     Message message = new Message();
     message.what = SHOW_RESPONSE;
     message.obj = response.toString();
     handler.sendMessage(message);
    } catch (Exception e) {
     e.printStackTrace();
    } finally {
     if (connection != null) {
      connection.disconnect();
     }
    }
   }
  }).start();
 }
}
布局:

    
    
    
    
    
        
    

本文标题:http请求方式httpURLContention和httpClient
链接URL:http://bzwzjz.com/article/ijjopc.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 重庆网站制作 成都企业网站制作 成都网站设计 成都网站建设 网站制作 重庆外贸网站建设 高端网站设计 app网站建设 品牌网站建设 成都营销网站建设 营销型网站建设 手机网站设计 成都品牌网站设计 企业手机网站建设 响应式网站设计 成都营销网站制作 网站设计公司 成都网站建设 成都企业网站建设 专业网站设计 移动网站建设 定制级高端网站建设