小记:获取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 }
时间: 2024-10-15 07:20:39

小记:获取post和get请求。的相关文章

node的express框架,核心第三方模块body-parser 获取我们所有post请求传过来数据

- 安装 body-parser模块- npm install body-parser -S - 调用- let bodyParser=require('body-parser'); - 设置中间件- app.use(bodyParser.urlencoded({extended:true})); - 判断请求体格式是不是json格式,如果是的话会调用JSON.parse方法把请求体字符串转成对象 - app.use(bodyParser.json()); -上面两个只会有一个生效 - 获取po

Unity 获取服务器时间 HTTP请求方式

在写每日签到的时候,我居然使用的是本地时间...被项目经理笑哭了...., 如果你在写单机游戏,没有游戏服务器,但又不想使用本地时间,就可以采用下面方法. 方法总结: 1. 使用HTTP请求获取服务器时间,不能实时获取服务器时间这样高频率的 2. 使用socket可以实时获取服务器时间 3. 使用C#自带API获取sql server 标准北京时间(=.=还没有找到这个API) 第HTTP方式: 代码: using UnityEngine; using System.Collections; u

js获取当前页面Get请求参数

废话不多说,直接上代码: //获取当前页面的请求参数并移除左边的? var currentSearchStr = window.location.search.replace("?",""); //将currentSearchStr分割到数组中 var currentSearchParamArr = currentSearchStr.split("&"); //将参数中的每一个值继续分割 var currentSearchParamDat

一般处理程序(ashx)获取不到POST请求的参数问题

写了一个一般处理程序来做接口,由于字段Content是文本,长度可能很长,鉴于这个原因,所以不能GET请求 所以问题来了,当我改成POST请求,自己使用HttpHelper类来写了一个Demo code var result = new HttpHelper().GetHtml(new HttpItem() { URL = "http://localhost:24885/Comment.ashx", Method = "POST", Postdata = "

NodeJS获取GET和POST请求

使用NodeJS获取GET请求,主要是通过使用NodeJS内置的querystring库处理req.url中的查询字符串来进行. 通过?将req.url分解成为一个包含path和query字符串的数组 通过querystring.parse()方法,对格式为key1=value1&key2=value2的查询字符串进行解析,并将其转换成为标准的JS对象 const http = require('http') const querystring = require('querystring')

Nginx 内置变量,细化规则,真实IP获取及限制连接请求

希望下周测试之后能用起来!!!感觉很有用的. http://www.bzfshop.net/article/176.html http://www.cr173.com/html/19761_1.html http://blog.pixelastic.com/2013/09/27/understanding-nginx-location-blocks-rewrite-rules/ 你 Google 不到的配置 很多时候,我们的网站不是简单的  普通用户IE浏览器  ——->  你的服务器  的结构

[小记]获取相机或者相册中的图片,并且塞入ImageView中

获取相机或者相册中的图片,并且塞入ImageView中 跳转相机 一句代码的事情 startActivityForResult(new Intent(MediaStore.ACTION_IMAGE_CAPTURE), 0); 跳转相册并且裁剪,要是不想裁剪 把裁剪的代码去掉即可 Intent intent = new Intent( Intent.ACTION_GET_CONTENT); intent.putExtra("return-data", true); intent.setT

获取yii框架HTTP请求的方法

$request = Yii::$app->request; if ($request->isAjax) { /* 该请求是一个 AJAX 请求 */ } if ($request->isGet) { /* 请求方法是 GET */ } if ($request->isPost) { /* 请求方法是 POST */ } if ($request->isPut) { /* 请求方法是 PUT */ }

使用handler和Message获取xutils发送POST请求从服务器端返回数据

注意:应该在handleMessage中处理从服务器返回的数据.否则会因为线程问题拿不到结果. public class MainActivity extends Activity{ private String responseInfo; private Handler handler; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setCo