HttpClient——get--post
来源:互联网 发布:美国大学开学时间 知乎 编辑:程序博客网 时间:2024/04/29 02:55
package com.example.httpclientgetpost;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.NameValuePair;
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 org.apache.http.protocol.HTTP;
import android.app.Activity;
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;
public class MainActivity extends Activity {
private TextView tv;
private Button btn_get;
private Button btn_post;
Handler handler=new Handler(){@Override
public void handleMessage(Message msg) {
if(msg.what==1){
tv.setText("Get请求-----"+(String)msg.obj);
}else if(msg.what==2){
tv.setText("Post请求-----"+(String)msg.obj);
};
}};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv=(TextView) findViewById(R.id.tv);
btn_get=(Button) findViewById(R.id.btn_get);
btn_post=(Button) findViewById(R.id.btn_post);
btn_get.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
new Thread(){
public void run() {
//1、创建HttpClient对象
HttpClient hc=new DefaultHttpClient();
//2、创建HttpGet对象,构造方法的参数是访问的网址
HttpGet hg=new HttpGet("http://apis.juhe.cn/cook/query?key=896f80e443864fcb163f71b64009ee2b&menu=西红柿&rn=10&pn=3&dtype=xml");
//3、使用客户端对象把get请求发送出去
try {
HttpResponse response = hc.execute(hg);
//拿到响应头的状态行得到状态码判断是否请求成功(200)
if(response.getStatusLine().getStatusCode()==HttpStatus.SC_OK){
//拿到响应头实体的内容的到输入流
InputStream is = response.getEntity().getContent();
StringBuffer sb=new StringBuffer();
BufferedReader br=new BufferedReader(new InputStreamReader(is));
String st=null;
while((st=br.readLine())!=null){
sb.append(st);
}
is.close();
Message msg = handler.obtainMessage(1,sb.toString());
handler.sendMessage(msg);
}
} catch (Exception e) {
e.printStackTrace();
}
};
}.start();
}
});
btn_post.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
new Thread(){
public void run() {
//1、创建HttpClient对象
HttpClient hc=new DefaultHttpClient();
//2、创建HttpPost对象
HttpPost hp=new HttpPost("http://v.juhe.cn/wzpoints/query");
//封装提交的表单数据加入到集合
List<NameValuePair> list=new ArrayList<NameValuePair>();
list.add(new BasicNameValuePair("key","1ddd601ebc5e79775f6f49f8782a394c"));
list.add(new BasicNameValuePair("lat","31.335005"));
list.add(new BasicNameValuePair("lon","120.617183"));
list.add(new BasicNameValuePair("r","1000"));
// key=1ddd601ebc5e79775f6f49f8782a394c&lat=31.335005&lon=120.617183&r=1000
try {
//把集合转换成实体对象
UrlEncodedFormEntity entity=new UrlEncodedFormEntity(list,HTTP.UTF_8);
//设置post提交乱码
hp.setHeader("Content-Type","application/x-www-form-urlencoded;charset=utf-8");
//设置post请求的实体,其实就是把要提交的数据封装至POSt请求的输出流
hp.setEntity(entity);
//3、使用客户端发送post请求
HttpResponse response = hc.execute(hp);
//拿到响应头的状态行的状态码判断是否请求成功(200)
if(response.getStatusLine().getStatusCode()==HttpStatus.SC_OK){
//拿到相应实体的内容(输入流)
InputStream is = response.getEntity().getContent();
StringBuffer sb=new StringBuffer();
byte[] bt=new byte[1024];
int b=0;
while(-1!=(b=is.read(bt))){
sb.append(new String(bt, 0,b));
}
//关闭流
is.close();
Message msg = handler.obtainMessage(2, sb.toString());
handler.sendMessage(msg);
}
} catch (Exception e) {
e.printStackTrace();
}
};
}.start();
}
});
}
}
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.NameValuePair;
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 org.apache.http.protocol.HTTP;
import android.app.Activity;
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;
public class MainActivity extends Activity {
private TextView tv;
private Button btn_get;
private Button btn_post;
Handler handler=new Handler(){@Override
public void handleMessage(Message msg) {
if(msg.what==1){
tv.setText("Get请求-----"+(String)msg.obj);
}else if(msg.what==2){
tv.setText("Post请求-----"+(String)msg.obj);
};
}};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv=(TextView) findViewById(R.id.tv);
btn_get=(Button) findViewById(R.id.btn_get);
btn_post=(Button) findViewById(R.id.btn_post);
btn_get.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
new Thread(){
public void run() {
//1、创建HttpClient对象
HttpClient hc=new DefaultHttpClient();
//2、创建HttpGet对象,构造方法的参数是访问的网址
HttpGet hg=new HttpGet("http://apis.juhe.cn/cook/query?key=896f80e443864fcb163f71b64009ee2b&menu=西红柿&rn=10&pn=3&dtype=xml");
//3、使用客户端对象把get请求发送出去
try {
HttpResponse response = hc.execute(hg);
//拿到响应头的状态行得到状态码判断是否请求成功(200)
if(response.getStatusLine().getStatusCode()==HttpStatus.SC_OK){
//拿到响应头实体的内容的到输入流
InputStream is = response.getEntity().getContent();
StringBuffer sb=new StringBuffer();
BufferedReader br=new BufferedReader(new InputStreamReader(is));
String st=null;
while((st=br.readLine())!=null){
sb.append(st);
}
is.close();
Message msg = handler.obtainMessage(1,sb.toString());
handler.sendMessage(msg);
}
} catch (Exception e) {
e.printStackTrace();
}
};
}.start();
}
});
btn_post.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
new Thread(){
public void run() {
//1、创建HttpClient对象
HttpClient hc=new DefaultHttpClient();
//2、创建HttpPost对象
HttpPost hp=new HttpPost("http://v.juhe.cn/wzpoints/query");
//封装提交的表单数据加入到集合
List<NameValuePair> list=new ArrayList<NameValuePair>();
list.add(new BasicNameValuePair("key","1ddd601ebc5e79775f6f49f8782a394c"));
list.add(new BasicNameValuePair("lat","31.335005"));
list.add(new BasicNameValuePair("lon","120.617183"));
list.add(new BasicNameValuePair("r","1000"));
// key=1ddd601ebc5e79775f6f49f8782a394c&lat=31.335005&lon=120.617183&r=1000
try {
//把集合转换成实体对象
UrlEncodedFormEntity entity=new UrlEncodedFormEntity(list,HTTP.UTF_8);
//设置post提交乱码
hp.setHeader("Content-Type","application/x-www-form-urlencoded;charset=utf-8");
//设置post请求的实体,其实就是把要提交的数据封装至POSt请求的输出流
hp.setEntity(entity);
//3、使用客户端发送post请求
HttpResponse response = hc.execute(hp);
//拿到响应头的状态行的状态码判断是否请求成功(200)
if(response.getStatusLine().getStatusCode()==HttpStatus.SC_OK){
//拿到相应实体的内容(输入流)
InputStream is = response.getEntity().getContent();
StringBuffer sb=new StringBuffer();
byte[] bt=new byte[1024];
int b=0;
while(-1!=(b=is.read(bt))){
sb.append(new String(bt, 0,b));
}
//关闭流
is.close();
Message msg = handler.obtainMessage(2, sb.toString());
handler.sendMessage(msg);
}
} catch (Exception e) {
e.printStackTrace();
}
};
}.start();
}
});
}
}
0 0
- HttpClient——get--post
- HttpClient——Get,Post
- Android——HttpClient(get&post)
- get、post、httpclient-get、httpclient-post
- UWP——HttpClient模拟浏览器的GET、POST请求
- android网络编程Apache——HttpClient(GET。POST)
- HttpClient详解(三)—get post封装实例
- httpClient get post 实例
- HttpClient get, post使用
- Android HttpClient POST GET
- HttpClient Get和Post
- httpClient post/get请求。
- HttpClient get,Post请求
- httpClient-Post-Get代码
- HttpClient get、post请求
- HttpClient(POST+GET)
- HttpClient 4.0 GET POST 封装
- httpClient----Post 和 GET请求
- Android学习之调用系统相机实现拍照功能
- TabHostFragment使用方法+布局
- 38,指针与数组
- 【Leetcode】Combination Sum
- PHP下解决Json中文
- HttpClient——get--post
- HttpURLConnection get----post
- 《剑指Offer》读书笔记10:矩形覆盖
- Educational Codeforces Round 2
- Linux shell学习
- 阿里ECS服务器linux系统搭建java web+tomcat
- 排序(希尔排序)
- slidingmenu常用属性介绍
- linux下的消息队列