Java网络通信之HttpClient
来源:互联网 发布:网络测试与故障诊断 编辑:程序博客网 时间:2024/05/16 00:57
这里我用的org.apache的包,closeableHttpClient是实现了HttpClient接口的子类。服务器需要自己去搭建。下个tomcat搭建服务器吧
一.Post方式
import org.apache.http.NameValuePair;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
/**
* Created by Administrator on 2016/7/26.
*/
public class HttpTestDemo {
public static void main(String[] args) throws IOException {
// get();
post();
}
/** * post请求 */private static void post() throws IOException { CloseableHttpClient mCloseableHttpClient= HttpClients.createDefault();//创建默认的客户端 相当于UrlConnection 里面的URL HttpPost mHttpPost = new HttpPost("http://localhost:8080/day14servletdemo/DServlet");//创建post请求的封装类 List<NameValuePair> mList = new ArrayList<>();//创建存放参数的集合 mList.add(new BasicNameValuePair("name","gdsgsdf"));//添加参数 mList.add(new BasicNameValuePair("password","fgdsgdsfg")); mHttpPost.setEntity(new UrlEncodedFormEntity(mList));//使用url编码的参数 ,里面就是把键值对取出来然后拼接成post请求需要的格式 //正式请求 CloseableHttpResponse mCloseableHttpResponse =mCloseableHttpClient.execute(mHttpPost);//连接获取返回的数据 int code= mCloseableHttpResponse.getStatusLine().getStatusCode();//获取错误码 if (code==200){ //获取数据 InputStream mInputStream= mCloseableHttpResponse.getEntity().getContent(); BufferedReader mBufferedReader= new BufferedReader(new InputStreamReader(mInputStream));//包装一个字符流 String line = null; while ((line=mBufferedReader.readLine())!=null){//读流 System.out.println(line);//输出结果 } }}
##二.Get方式
/**
* 使用httpclient 的get方式请求网络
* 网络请求来说 : 主机名(访问地址) 参数 事先设置好,然后通过某种方式会发起请求
*/
private static void get() {
try {
CloseableHttpClient mCloseableHttpClient= HttpClients.createDefault();//创建默认的客户端 相当于UrlConnection 里面的URL
HttpGet mHttpGet = new HttpGet(“http://localhost:8080/day14servletdemo/DServlet?name=gdsgsdf&password=gdsfgdg&sex=0&habit=smoke&habit=drink&habit=tangtou&edu=01&desc=gdfsgdsfgdg“);
CloseableHttpResponse mCloseableHttpResponse= mCloseableHttpClient.execute(mHttpGet);//发起get请求,并且获取返回的数据
if (mCloseableHttpResponse.getStatusLine().getStatusCode()== 200){//如果返回的错误码(状态码)为200 代表响应成功 返回数据
//获取数据
InputStream mInputStream= mCloseableHttpResponse.getEntity().getContent();
BufferedReader mBufferedReader= new BufferedReader(new InputStreamReader(mInputStream));//包装一个字符流
String line = null;
while ((line=mBufferedReader.readLine())!=null){//读流
System.out.println(line);//输出结果
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
“`
- Java网络通信之HttpClient
- Java网络通信之HttpClient
- Java网络通信之HttpClient
- android 网络通信之HttpURLConnection与HttpClient
- android的网络通信之HttpClient
- Android HttpClient网络通信
- Android HttpClient网络通信
- Android HttpClient网络通信
- Android HttpClient网络通信
- HttpClient网络通信
- HttpClient网络通信
- HttpClient通信网络
- java 之网络通信
- java之网络通信
- Android开发之网络通信(HttpURLConnection,HttpClient,HttpGet,HttpPost)
- Android网络编程之使用HttpClient进行Get方式通信
- cocos2d-x学习日记之网络通信篇—HttpClient
- Java网络连接之HttpURLConnection与HttpClient
- 反射与字段
- autorun.inf文件
- docker
- iOS 代码规范(参考大神博客+自己想法)
- Java基础——处理对象
- Java网络通信之HttpClient
- 以UEFI模式安装Ghost Win8方法
- 238. Product of Array Except Self [medium] (Python)
- 工厂方法
- JSP内置对象(9个常用的内置对象)
- Retrofit源码分析
- deb和rpm常用指令
- 如何在Build History里面显示二维码链接
- R语言