HttpClient get和HttpClient Post请求的方式获取服务器的返回数据
2024-08-29 20:32:18
1.转自:https://blog.csdn.net/alinshen/article/details/78221567?utm_source=blogxgwz4
/*
* 演示通过HttpClient get请求的方式获取服务器的返回数据
*/
- public class HttpClientDemo {
- public static void main(String[] args) throws ClientProtocolException, IOException {
- String path="http://10.0.184.105:58080/ServletDemo4/LoginServlet?username=admin&password=admin";
- //1.创建客户端访问服务器的httpclient对象 打开浏览器
- HttpClient httpclient=new DefaultHttpClient();
- //2.以请求的连接地址创建get请求对象 浏览器中输入网址
- HttpGet httpget=new HttpGet(path);
- //3.向服务器端发送请求 并且获取响应对象 浏览器中输入网址点击回车
- HttpResponse response=httpclient.execute(httpget);
- //4.获取响应对象中的响应码
- StatusLine statusLine=response.getStatusLine();//获取请求对象中的响应行对象
- int responseCode=statusLine.getStatusCode();//从状态行中获取状态码
- if(responseCode==200){
- //5.获取HttpEntity消息载体对象 可以接收和发送消息
- HttpEntity entity=response.getEntity();
- //EntityUtils中的toString()方法转换服务器的响应数据
- String str=EntityUtils.toString(entity, "utf-8");
- System.out.println("服务器的响应是:"+str);
- // //6.从消息载体对象中获取操作的读取流对象
- // InputStream input=entity.getContent();
- // BufferedReader br=new BufferedReader(new InputStreamReader(input));
- // String str=br.readLine();
- // String result=new String(str.getBytes("gbk"), "utf-8");
- // System.out.println("服务器的响应是:"+result);
- // br.close();
- // input.close();
- }else{
- System.out.println("响应失败!");
- }
- }
- }
/*
* 演示HttpClient使用Post提交方式提交数据
* <form action="" method="post">
* <input type="text" name="username" value="输入值">
* <input type="password" name="password" value="输入值">
* </form>
*
* username=输入值 password=输入值
*/
- public class HttpClientDemo4 {
- public static void main(String[] args) throws ClientProtocolException, IOException {
- String baseUrl="http://10.0.184.105:58080/ServletDemo4/LoginServlet";//username=? password=?
- HttpClient httpclient=new DefaultHttpClient();
- //以请求的url地址创建httppost请求对象
- HttpPost httppost=new HttpPost(baseUrl);
- //NameValuePair 表示以类的形式保存提交的键值对
- NameValuePair pair1=new BasicNameValuePair("username", "ad");
- NameValuePair pair2=new BasicNameValuePair("password", "admin");
- //集合的目的就是存储需要向服务器提交的key-value对的集合
- List<NameValuePair> listPair=new ArrayList<NameValuePair>();
- listPair.add(pair1);
- listPair.add(pair2);
- //HttpEntity 封装消息的对象 可以发送和接受服务器的消息 可以通过客户端请求或者是服务器端的响应获取其对象
- HttpEntity entity=new UrlEncodedFormEntity(listPair);//创建httpEntity对象
- httppost.setEntity(entity);//将发送消息的载体对象封装到httppost对象中
- HttpResponse response=httpclient.execute(httppost);
- int responseCode=response.getStatusLine().getStatusCode();
- if(responseCode==200){
- //得到服务器响应的消息对象
- HttpEntity httpentity=response.getEntity();
- System.out.println("服务器响应结果是:"+EntityUtils.toString(httpentity, "utf-8"));
- }else{
- System.out.println("响应失败!");
- }
- }
- }
最新文章
- JavaScript权威设计--JavaScript函数(简要学习笔记十)
- HTML 5 背离贪吃蛇 写成了类似于屏幕校准
- EditText 显示明文和密码
- 内存屏障 &; Memory barrier
- super getClass()
- IIS7 IIS8 中多个版本php共存的方法
- 关于iOS9,Xcode7以上的安全性问题
- 多浏览器兼容用javascript获取url参数的方法比较推荐的一种
- C# MarshalByRefObject 和Serializable的区别
- zw版【转发&#183;台湾nvp系列Delphi例程】HALCON FillUpShape1
- Lex+YACC详解
- Charles移动端抓包工具使用
- Linux shell命令
- Hadoop概念学习系列之hadoop、spark常备查询网址(二十九)
- [置顶] Linux协议栈代码阅读笔记(一)
- 配置安装nginx
- 笔记本如何设置插入USB鼠标自动禁用触摸板
- Linux内核分析作业 NO.6
- 洛谷 P2440 木材加工【基础二分】
- Linux命令小计
热门文章
- caioj1497&;&;bzoj3125: CITY
- Java-MyBatis-杂项: MyBatis 中 in 的用法2
- 开发工具 | 利用 deployd 搭建个人博客
- 什么是 Dropout
- CorelDRAW X6最新注册激活机制
- P1494 [国家集训队]小Z的袜子(luogu)
- django patch 解决 [";&#39;15428560000&#39; value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ] format.";]
- NOIP2016 DAY1 T1 玩具谜题
- BZOJ 3786 星系探索 (splay+dfs序)
- 2019-03-19 用SSIS把SQLServer中的数据导出来保存到Excel中