zoukankan      html  css  js  c++  java
  • 小记:获取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 }
  • 相关阅读:
    js四舍五入
    文本框只能输入整数,输入其他的自动不显示
    [转]关于C#程序部署到Android
    ajax在火狐中传中文出现乱码的解决方法
    Vue 记录 Cannot read property '_withTask' of undefined
    vs中 VMDebugger未能加载导致异常
    System.InvalidOperationException: 支持“XXX”上下文的模型已在数据库创建后发生更改。请考虑使用 Code First 迁移更新数据库(http://go.microsoft.com/fwlink/?LinkId=238269)。
    eclipse中将java项目转换成javaweb项目
    Android之SOAP协议与WebService服务器交互,解决超时的问题
    SymmetricDS 快速和灵活的数据库复制
  • 原文地址:https://www.cnblogs.com/labixiaoxin/p/5221252.html
Copyright © 2011-2022 走看看