package com.lixu.httpget_post;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast; public class MainActivity extends Activity implements OnClickListener { EditText et1;
EditText et2; protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et1 = (EditText) findViewById(R.id.et1);
et2 = (EditText) findViewById(R.id.et2);
Button bt1 = (Button) findViewById(R.id.btn1);
Button bt2 = (Button) findViewById(R.id.btn2);
bt1.setOnClickListener(this);
bt2.setOnClickListener(this); } @Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn1:
new Thread(new Runnable() { @Override
public void run() {
// 1.定义一个客户端 你可以理解为是一个浏览器
HttpClient client = new DefaultHttpClient();
// 2. 定义一个get请求,并封装好他的参数
String data = "username" + et1.getText().toString() + "password" + et2.getText().toString();
HttpGet get = new HttpGet("http://10.0.2.2:8080/test/lianjie?" + data);
// 3. 用定义好的浏览器来执行一个地址
try {
HttpResponse response = client.execute(get);
// 4. 获取状态码,看返回回来的是否是200
final int statuscode = response.getStatusLine().getStatusCode();
if (statuscode == 200) {
InputStream in = response.getEntity().getContent();
final String content = getStringFromStream(in);
runOnUiThread(new Runnable() { public void run() {
Toast.makeText(MainActivity.this, "状态为:" + statuscode + "内容是:" + content, 0).show();
}
});
} } catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} }
}).start();
break;
case R.id.btn2:
new Thread(new Runnable() {
public void run() {
HttpClient client = new DefaultHttpClient();
// 定义一个post请求的对象
HttpPost post = new HttpPost("http://10.0.2.2:8080/test/lianjie");
List<NameValuePair> parameters = new ArrayList<NameValuePair>();
NameValuePair name = new BasicNameValuePair("username", et1.getText().toString());
NameValuePair pwd = new BasicNameValuePair("pasword", et2.getText().toString());
parameters.add(name);
parameters.add(pwd); UrlEncodedFormEntity entity;
try {
entity = new UrlEncodedFormEntity(parameters, "UTF-8");
post.setEntity(entity);
HttpResponse response = client.execute(post);
final int statuscode = response.getStatusLine().getStatusCode();// 获取状态码
if (statuscode == 200) {
InputStream in = response.getEntity().getContent();
final String content=getStringFromStream(in);
runOnUiThread(new Runnable() { public void run() {
Toast.makeText(MainActivity.this, "状态为:"+statuscode+"内容是:"+content, 0).show();
}
});
} } catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} }).start();
break; default:
break;
} } public String getStringFromStream(InputStream in) {
byte[] buffer = new byte[1024];
ByteArrayOutputStream bytearray = new ByteArrayOutputStream();
int len = 0;
try {
if ((len = in.read(buffer, 0, 1024)) != -1) {
bytearray.write(buffer);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String content = bytearray.toString();
return content;
} }

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

  1. java从request中获取GET和POST请求参数

    URL和参数列表 一 获取请求方式 request.getMethod(); get和post都可用, 二 获取请求类型 request.getContentType(); get和post都可用,示 ...

  2. 获取随机User-Agent的请求头

    ''' 获取随机User-Agent的请求头 ''' import random #用户代理User-Agent列表 USER_AGENTS = [ "Mozilla/5.0 (Macint ...

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

    在写每日签到的时候,我居然使用的是本地时间...被项目经理笑哭了...., 如果你在写单机游戏,没有游戏服务器,但又不想使用本地时间,就可以采用下面方法. 方法总结: 1. 使用HTTP请求获取服务器 ...

  4. 接口测试入门(2)--get和post初级请求/使用httpclient做一个获取信息list的请求(需要登录才可以)

    抛去测试自动化的架构来,直接写单个测试用例的思路如下: 1.获取测试case的接口,对每一个接口的请求方式(get/post/delete/put)进行分析,是否需要参数(不同的用例设置不同的参数,如 ...

  5. Android拦截并获取WebView内部POST请求参数

    起因: 有些时候自家APP中嵌入的H5页面并不是自家的.但是很多时候又想在H5不知情的情况下获取H5内部请求的参数,这应该怎么做到呢? 带着这个疑问,就有了这篇博客. 实现过程: 方案一: 最开始想到 ...

  6. requset获取post提交的请求参数

    1.请求体的内容通常是通过post来提交的,格式是 username=zhansan&password=123&hobby=football||&hobby=basketbal ...

  7. java 获取request中的请求参数

    1.get 和 post请求方式 (1)request.getParameterNames(); 获取所有参数key后.遍历request.getParameter(key)获取value (2)re ...

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

    - 安装 body-parser模块- npm install body-parser -S - 调用- let bodyParser=require('body-parser'); - 设置中间件- ...

  9. 13--网页,网站,微信公众号基础入门(PHP获取网页的get请求)

    https://www.cnblogs.com/yangfengwu/p/11148976.html 大家在访问网页的时候有没有注意一件事情 现在咱来看这种哈 现在咱做个功能哈,类似于这样 长话短说 ...

随机推荐

  1. MyEclipse JCO tomcat 提示查找不到sapjco3.dll

    java.lang.UnsatisfiedLinkError: no sapjco3 in java.library.path 1.system32添加sapjco3.dll 2.tomcat bin ...

  2. 实例化bean的三种方式

    简单的说 当获取bean时: 1.直接创建对象 2.不创建对象,直接调用factory-method指定的静态方法 3.先创建对象,再调用factory-method指点的非静态方法

  3. Linux_查看进程

    1. 静态: ps -aux 2. 动态: top 3.

  4. [转载] DevOps年中盘点:国外最受欢迎的10篇技术文章

    本文根据高效运维系列微信群的群友投稿整理而成.“高效运维”公众号作为本系列群的官方唯一公众号,原创并独家首发. 欢迎关注“高效运维”公众号,以免费参加「运维讲坛」每月一次的线下交流活动:并抢先赏阅干货 ...

  5. Java中的数学运算BigDecimal

    Math类 package ch7; /** * Created by Jiqing on 2016/11/24. */ public class MathDemo { public static v ...

  6. 在Spring Data JPA 中使用Update Query更新实体类

    对于 Spring Data JPA 使用的时间不长,只有两年时间.但是踩过坑的却不少. 使用下列代码 @Modifying @Query("update User u set u.firs ...

  7. 转!!EL表达式大全

    EL表达式      1.EL简介 1)语法结构        ${expression} 2)[]与.运算符      EL 提供.和[]两种运算符来存取数据.      当要存取的属性名称中包含一 ...

  8. enum类型

    1.设有变量a,b,c被说明为上述的weekday,可采用下述任一种方式: enum weekday{sun,mon,tue,wed,thu,fri,sat}; enum weekday a,b,c; ...

  9. MHA的几种死法-叶良辰

    master不通      找到最新slave           找到有所有其他slave缺失relay log的 slave      选主           配置文件指定           ...

  10. signalR的一些细节

    获取根目录通过AppDomain.CurrentDomain.BaseDirectory 因为不能直接获取session ,使用的替代方案如下 private static Dictionary< ...