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 ...
随机推荐
- php后期静态绑定
php后期静态绑定 自 PHP 5.3.0 起,PHP 增加了一个叫做后期静态绑定的功能,用于在继承范围内引用静态调用的类. 虽然也可以调用非静态方法,但是不会在运行时绑定. static 不再只是简 ...
- Ubuntu下推荐安装软件
前言:都是全平台软件,通用性好. 1.搜狗输入法 官网下载: 不能双击.deb安装成功,需要安装依赖,可参考:https://www.cnblogs.com/chendeqiang/p/1017741 ...
- SVG实现波浪效果
SVG实现波浪效果 svg path:C 贝塞尔曲线绘制波浪形状 A 绘制圆弧形 svg animate:制作波浪动画,为了波浪动画效果自然,设置values关键点 attributeName: ...
- js复制克隆
$(function() {//开始加载updateIndex()}) function add(){ var str = $(".tr_wqxx").first().clone( ...
- Android 数字四舍五入
BigDecimal b = new BigDecimal(hour).setScale(1, BigDecimal.ROUND_HALF_UP); setScale(int newScale, in ...
- LeetCode(11)Container With Most Water
题目如下: 题目的意思是求容器能装的最大的水量,当时我按梯形的面积来算,一直不对,后来才发现要按矩形的面积来算 Python代码如下: def maxArea(self, height): " ...
- ZBrush中标准几何体与Polymesh
通过对ZBrush的学习,相信您已经对这款软件有了一定的了解,文本我们主要学习ZBrush®的3D物体标准几何体的特性和使用方法.在ZBrush中只有Polymesh(多边形网格)物体才能使用雕刻笔刷 ...
- ZBrush软件特性之Marker标记调控板
在ZBrush®中使用Marker标记调控板来记忆物体属性,因此能在任何时间回到标记并使用它给其他物体或改变物体作为参考点. ZBrush软件下载:http://pan.baidu.com/s/1sl ...
- 通过adb 设置、删除、获取 系统配置值。
通过adb 设置.删除.获取 系统配置值. Key定义在:frameworks\base\core\java\android\provider\Settings.java adb shell sett ...
- BZOJ2179: FFT快速傅立叶 FFT实现高精度乘法
Code: #include <cstdio> #include <algorithm> #include <cmath> #include <cstring ...