• 小记:获取post和get请求。


      1 package com.lixu.httpget_post;
      2 import java.io.ByteArrayOutputStream;
      3 import java.io.IOException;
      4 import java.io.InputStream;
      5 import java.io.UnsupportedEncodingException;
      6 import java.util.ArrayList;
      7 import java.util.List;
      8 import org.apache.http.HttpResponse;
      9 import org.apache.http.NameValuePair;
     10 import org.apache.http.client.ClientProtocolException;
     11 import org.apache.http.client.HttpClient;
     12 import org.apache.http.client.entity.UrlEncodedFormEntity;
     13 import org.apache.http.client.methods.HttpGet;
     14 import org.apache.http.client.methods.HttpPost;
     15 import org.apache.http.impl.client.DefaultHttpClient;
     16 import org.apache.http.message.BasicNameValuePair;
     17 import android.app.Activity;
     18 import android.os.Bundle;
     19 import android.view.View;
     20 import android.view.View.OnClickListener;
     21 import android.widget.Button;
     22 import android.widget.EditText;
     23 import android.widget.Toast;
     24 
     25 public class MainActivity extends Activity implements OnClickListener {
     26 
     27     EditText et1;
     28     EditText et2;
     29 
     30     protected void onCreate(Bundle savedInstanceState) {
     31         super.onCreate(savedInstanceState);
     32         setContentView(R.layout.activity_main);
     33         et1 = (EditText) findViewById(R.id.et1);
     34         et2 = (EditText) findViewById(R.id.et2);
     35         Button bt1 = (Button) findViewById(R.id.btn1);
     36         Button bt2 = (Button) findViewById(R.id.btn2);
     37         bt1.setOnClickListener(this);
     38         bt2.setOnClickListener(this);
     39 
     40     }
     41 
     42     @Override
     43     public void onClick(View v) {
     44         switch (v.getId()) {
     45         case R.id.btn1:
     46             new Thread(new Runnable() {
     47 
     48                 @Override
     49                 public void run() {
     50                     // 1.定义一个客户端 你可以理解为是一个浏览器
     51                     HttpClient client = new DefaultHttpClient();
     52                     // 2. 定义一个get请求,并封装好他的参数
     53                     String data = "username" + et1.getText().toString() + "password" + et2.getText().toString();
     54                     HttpGet get = new HttpGet("http://10.0.2.2:8080/test/lianjie?" + data);
     55                     // 3. 用定义好的浏览器来执行一个地址
     56                     try {
     57                         HttpResponse response = client.execute(get);
     58                         // 4. 获取状态码,看返回回来的是否是200
     59                         final int statuscode = response.getStatusLine().getStatusCode();
     60                         if (statuscode == 200) {
     61                             InputStream in = response.getEntity().getContent();
     62                             final String content = getStringFromStream(in);
     63                             runOnUiThread(new Runnable() {
     64 
     65                                 public void run() {
     66                                     Toast.makeText(MainActivity.this, "状态为:" + statuscode + "内容是:" + content, 0).show();
     67                                 }
     68                             });
     69                         }
     70 
     71                     } catch (ClientProtocolException e) {
     72                         // TODO Auto-generated catch block
     73                         e.printStackTrace();
     74                     } catch (IOException e) {
     75                         // TODO Auto-generated catch block
     76                         e.printStackTrace();
     77                     }
     78 
     79                 }
     80             }).start();
     81             break;
     82         case R.id.btn2:
     83             new Thread(new Runnable() {
     84                 public void run() {
     85                     HttpClient client = new DefaultHttpClient();
     86                     // 定义一个post请求的对象
     87                     HttpPost post = new HttpPost("http://10.0.2.2:8080/test/lianjie");
     88                     List<NameValuePair> parameters = new ArrayList<NameValuePair>();
     89                     NameValuePair name = new BasicNameValuePair("username", et1.getText().toString());
     90                     NameValuePair pwd = new BasicNameValuePair("pasword", et2.getText().toString());
     91                     parameters.add(name);
     92                     parameters.add(pwd);
     93 
     94                     UrlEncodedFormEntity entity;
     95                     try {
     96                         entity = new UrlEncodedFormEntity(parameters, "UTF-8");
     97                         post.setEntity(entity);
     98                         HttpResponse response = client.execute(post);
     99                         final int statuscode = response.getStatusLine().getStatusCode();// 获取状态码
    100                         if (statuscode == 200) {
    101                             InputStream in = response.getEntity().getContent();
    102                             final String content=getStringFromStream(in);
    103                             runOnUiThread(new Runnable() {
    104                                 
    105                                 public void run() {
    106                                     Toast.makeText(MainActivity.this, "状态为:"+statuscode+"内容是:"+content, 0).show();
    107                                 }
    108                             });
    109                         }
    110 
    111                     } catch (UnsupportedEncodingException e) {
    112                         // TODO Auto-generated catch block
    113                         e.printStackTrace();
    114                     } catch (ClientProtocolException e) {
    115                         // TODO Auto-generated catch block
    116                         e.printStackTrace();
    117                     } catch (IOException e) {
    118                         // TODO Auto-generated catch block
    119                         e.printStackTrace();
    120                     }
    121                 }
    122 
    123             }).start();
    124             break;
    125 
    126         default:
    127             break;
    128         }
    129 
    130     }
    131 
    132     public String getStringFromStream(InputStream in) {
    133         byte[] buffer = new byte[1024];
    134         ByteArrayOutputStream bytearray = new ByteArrayOutputStream();
    135         int len = 0;
    136         try {
    137             if ((len = in.read(buffer, 0, 1024)) != -1) {
    138                 bytearray.write(buffer);
    139             }
    140         } catch (IOException e) {
    141             // TODO Auto-generated catch block
    142             e.printStackTrace();
    143         }
    144         String content = bytearray.toString();
    145         return content;
    146     }
    147 
    148 }
  • 相关阅读:
    idea配置web项目启动的详细说明
    mybatis如何防止sql注入(1)
    SQL基础(3)
    SQL基础(2)
    SQL基础(1)
    SpringMVC—对Ajax的处理(含 JSON 类型)(3)
    SpringMVC 之URL请求到Action的映射(1)
    Oracle 多表查询(2)
    Oracle 多表查询(1)
    mysql查询最近30天、7天、每天、昨天、上个月的记录
  • 原文地址:https://www.cnblogs.com/labixiaoxin/p/5221252.html
Copyright © 2020-2023  润新知