HttpClient get和HttpClient Post请求的方式获取服务器的返回数据
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("响应失败!");
- }
- }
- }
HttpClient get和HttpClient Post请求的方式获取服务器的返回数据的更多相关文章
- php 请求另一个服务器接口返回数据
<?php /** * Created by PhpStorm. * User: thinkpad * Date: 2015/7/17 0017 * Time: 13:24 */ class A ...
- IOS开发之Post 方式获取服务器数据
//1.创建post方式的 参数字符串url +(NSString *)createPostURL:(NSMutableDictionary *)params { NSString *postStri ...
- 使用基于Android网络通信的OkHttp库实现Get和Post方式简单操作服务器JSON格式数据
目录 前言 1 Get方式和Post方式接口说明 2 OkHttp库简单介绍及环境配置 3 具体实现 前言 本文具体实现思路和大部分代码参考自<第一行代码>第2版,作者:郭霖:但是文中讲 ...
- PHP通过curl向其它服务器发请求并返回数据
在很多时候,我们都需要请求第三方的服务器来获取一些数据,比如token,比如百度的主动推送,那么我们的php如何实现向第三方服务器发请求呢?我们可以通过curl来实现 首先定义请求的url,然后创建h ...
- JS请求服务器,并返回信息,请求过程中不需要跳转页面
js请求服务器,并返回信息,请求过程中不需要跳转页面 这个可以通过jQuery框架轻松实现,jQuery中包含多种ajax的请求方式,详细可以参考下对应 的API. 你上面定义的按钮类型是submit ...
- C#如何通过Socket的方式获取httponly cookie
正常情况下C#可以使用HttpWebRequest.HttpWebResponse和CookieContainer类来获取Cookie,但是当Cookie设置为httponly,我们就不能用上面的方法 ...
- Android使用HttpClient以Post、Get请求服务器发送数据的方式(普通和json)
讲这个之前,我们先来说说get和post两种请求的区别吧!!! 1. GET提交的数据会放在URL之后,以?分割URL和传输数据,参数之间以&相连,如EditPosts.jsp?name=te ...
- HttpClient发送Get和Post请求
package JanGin.httpClient.demo; import java.io.IOException; import java.io.UnsupportedEncodingExcept ...
- 使用HttpClient来异步发送POST请求并解析GZIP回应
.NET 4.5(C#): 使用HttpClient来异步发送POST请求并解析GZIP回应 在新的C# 5.0和.NET 4.5环境下,微软为C#加入了async/await,同时还加入新的Syst ...
随机推荐
- 机器学习案例学习【每周一例】之 Titanic: Machine Learning from Disaster
下面一文章就总结几点关键: 1.要学会观察,尤其是输入数据的特征提取时,看各输入数据和输出的关系,用绘图看! 2.训练后,看测试数据和训练数据误差,确定是否过拟合还是欠拟合: 3.欠拟合的话,说明模 ...
- vue-quill-editor 禁止编辑
每天学习一点点,知识财富涨点点 因为权限问题需要对富文本vue-quill-editor进行禁止编辑,因为也不是专业前端,处理起问题来还是只有看文档和百度,发现对这个提问不是很多,可能很多大牛都不会出 ...
- 剑指offer——04重建二叉树(Python3)
思路:在数据结构中,有一个条件反射,谈及二叉树,就递归.所以在实现重建二叉树时,也应该用到递归的思想. 在前序遍历中,根节点处于第一个:在中序遍历中,根节点的左边为左子树节点,根节点右边为右子树节点. ...
- centos7安装mysql(转载)
Centos7安装并配置mysql5.6完美教程 Centos7将默认数据库mysql替换成了Mariadb,对于我们这些还想使用mysql的开发人员来说并不是一个好消息.然而,网上关于Linux安装 ...
- Book---强连通分量
这几天一直在做强连通,现在总结一小下 1.定义 在一个有向图中,如果任意的两个点都是相互可达的,就说这个图是强连通的,有向图的极大强连通子图,称为强连通分量 2.求法 学的是白书上的tarjan算法 ...
- hook的本质就是在本原可执行文件中加东西
hook的本质就是在本原可执行文件中加东西. 本质就是添加东西:
- dp入门—数塔
在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的: 有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少? 已经告诉你了,这是个DP的题 ...
- HDU 1465 不容易系列之一( 错排水题 )
链接:传送门 思路:错排模板题,水题是非常浪费时间的 /************************************************************************ ...
- markdown图片设置
工具:typora 1. 设置图片大小(本节引用自 https://support.typora.io/Resize-Image/) Typora允许使用<img>标签显示图像,也可用于调 ...
- Java 中关于default 访问权限的讨论
Java中关于成员变量访问权限问题一般书中会给出如下表格: 简单地描述一下表中的内容:用private 修饰的成员变量只能在类内部访问:用default修饰的成员变量可以再内部访问,也可以被同个包(同 ...