1.转自:https://blog.csdn.net/alinshen/article/details/78221567?utm_source=blogxgwz4

/*
 * 演示通过HttpClient get请求的方式获取服务器的返回数据
 */

  1. public class HttpClientDemo {
  2. public static void main(String[] args) throws ClientProtocolException, IOException {
  3. String path="http://10.0.184.105:58080/ServletDemo4/LoginServlet?username=admin&password=admin";
  4. //1.创建客户端访问服务器的httpclient对象   打开浏览器
  5. HttpClient httpclient=new DefaultHttpClient();
  6. //2.以请求的连接地址创建get请求对象     浏览器中输入网址
  7. HttpGet httpget=new HttpGet(path);
  8. //3.向服务器端发送请求 并且获取响应对象  浏览器中输入网址点击回车
  9. HttpResponse response=httpclient.execute(httpget);
  10. //4.获取响应对象中的响应码
  11. StatusLine statusLine=response.getStatusLine();//获取请求对象中的响应行对象
  12. int responseCode=statusLine.getStatusCode();//从状态行中获取状态码
  13. if(responseCode==200){
  14. //5.获取HttpEntity消息载体对象  可以接收和发送消息
  15. HttpEntity entity=response.getEntity();
  16. //EntityUtils中的toString()方法转换服务器的响应数据
  17. String str=EntityUtils.toString(entity, "utf-8");
  18. System.out.println("服务器的响应是:"+str);
  19. //          //6.从消息载体对象中获取操作的读取流对象
  20. //          InputStream input=entity.getContent();
  21. //          BufferedReader br=new BufferedReader(new InputStreamReader(input));
  22. //          String str=br.readLine();
  23. //          String result=new String(str.getBytes("gbk"), "utf-8");
  24. //          System.out.println("服务器的响应是:"+result);
  25. //          br.close();
  26. //          input.close();
  27. }else{
  28. System.out.println("响应失败!");
  29. }
  30. }
  31. }

/*
 * 演示HttpClient使用Post提交方式提交数据
 * <form action="" method="post">
 *   <input type="text" name="username" value="输入值">
 *   <input type="password" name="password" value="输入值">
 * </form>
 * 
 *  username=输入值   password=输入值
 */

    1. public class HttpClientDemo4 {
    2. public static void main(String[] args) throws ClientProtocolException, IOException {
    3. String baseUrl="http://10.0.184.105:58080/ServletDemo4/LoginServlet";//username=? password=?
    4. HttpClient httpclient=new DefaultHttpClient();
    5. //以请求的url地址创建httppost请求对象
    6. HttpPost httppost=new HttpPost(baseUrl);
    7. //NameValuePair 表示以类的形式保存提交的键值对
    8. NameValuePair pair1=new BasicNameValuePair("username", "ad");
    9. NameValuePair pair2=new BasicNameValuePair("password", "admin");
    10. //集合的目的就是存储需要向服务器提交的key-value对的集合
    11. List<NameValuePair> listPair=new ArrayList<NameValuePair>();
    12. listPair.add(pair1);
    13. listPair.add(pair2);
    14. //HttpEntity 封装消息的对象 可以发送和接受服务器的消息  可以通过客户端请求或者是服务器端的响应获取其对象
    15. HttpEntity entity=new UrlEncodedFormEntity(listPair);//创建httpEntity对象
    16. httppost.setEntity(entity);//将发送消息的载体对象封装到httppost对象中
    17. HttpResponse response=httpclient.execute(httppost);
    18. int responseCode=response.getStatusLine().getStatusCode();
    19. if(responseCode==200){
    20. //得到服务器响应的消息对象
    21. HttpEntity httpentity=response.getEntity();
    22. System.out.println("服务器响应结果是:"+EntityUtils.toString(httpentity, "utf-8"));
    23. }else{
    24. System.out.println("响应失败!");
    25. }
    26. }
    27. }

HttpClient get和HttpClient Post请求的方式获取服务器的返回数据的更多相关文章

  1. php 请求另一个服务器接口返回数据

    <?php /** * Created by PhpStorm. * User: thinkpad * Date: 2015/7/17 0017 * Time: 13:24 */ class A ...

  2. IOS开发之Post 方式获取服务器数据

    //1.创建post方式的 参数字符串url +(NSString *)createPostURL:(NSMutableDictionary *)params { NSString *postStri ...

  3. 使用基于Android网络通信的OkHttp库实现Get和Post方式简单操作服务器JSON格式数据

     目录 前言 1 Get方式和Post方式接口说明 2 OkHttp库简单介绍及环境配置 3 具体实现 前言 本文具体实现思路和大部分代码参考自<第一行代码>第2版,作者:郭霖:但是文中讲 ...

  4. PHP通过curl向其它服务器发请求并返回数据

    在很多时候,我们都需要请求第三方的服务器来获取一些数据,比如token,比如百度的主动推送,那么我们的php如何实现向第三方服务器发请求呢?我们可以通过curl来实现 首先定义请求的url,然后创建h ...

  5. JS请求服务器,并返回信息,请求过程中不需要跳转页面

    js请求服务器,并返回信息,请求过程中不需要跳转页面 这个可以通过jQuery框架轻松实现,jQuery中包含多种ajax的请求方式,详细可以参考下对应 的API. 你上面定义的按钮类型是submit ...

  6. C#如何通过Socket的方式获取httponly cookie

    正常情况下C#可以使用HttpWebRequest.HttpWebResponse和CookieContainer类来获取Cookie,但是当Cookie设置为httponly,我们就不能用上面的方法 ...

  7. Android使用HttpClient以Post、Get请求服务器发送数据的方式(普通和json)

    讲这个之前,我们先来说说get和post两种请求的区别吧!!! 1. GET提交的数据会放在URL之后,以?分割URL和传输数据,参数之间以&相连,如EditPosts.jsp?name=te ...

  8. HttpClient发送Get和Post请求

    package JanGin.httpClient.demo; import java.io.IOException; import java.io.UnsupportedEncodingExcept ...

  9. 使用HttpClient来异步发送POST请求并解析GZIP回应

    .NET 4.5(C#): 使用HttpClient来异步发送POST请求并解析GZIP回应 在新的C# 5.0和.NET 4.5环境下,微软为C#加入了async/await,同时还加入新的Syst ...

随机推荐

  1. vi 调到第一行,或最后一行

    用vi命令打开文件直接跳到最后一行的方法如下: :$ 跳到文件最后一行 :0或:1 跳到文件第一行 或 另外一组命令: gg 跳到文件第一行 Shift + g 跳到文件最后一行

  2. c++ std

    高中只是听说过stl,每次问老师老师都会说“有毒,千万别学”,于是stl有毒的言论深深的印在我脑海,看到就恐惧,于是一直没有学,但是大学后确实很多用到stl的地方必须去学习了. 现在想想老师当年的说法 ...

  3. HTML iframe 和 frameset 的区别

    转自:http://www.cnblogs.com/polk6/archive/2013/05/24/3097430.html HTML iframe 和 frameset 的区别 iframe 和 ...

  4. 打包phar文件过大的问题。

    根据一个开源工具得到的灵感,使用流打包,并使用token_get_all移除了所用PHP文件的空白.现在打包出来只有93k了.谢谢关注. 我一个简单的文件,加上一个symfony的process包,打 ...

  5. php基础-----常量const和define的区别

    1.常量是一个简单的标识符,在脚本运行期间,值不可改变,默认大小写敏感. 答:使用const使得代码简单易读,const本身就是一个语言结构,而define是一个函数.另外const在编译时要比def ...

  6. luoguP4238 【模板】多项式求逆 NTT

    Code: #include <bits/stdc++.h> #define N 1000010 #define mod 998244353 #define setIO(s) freope ...

  7. 多进程Socket_Client

    from socket import * #导入套接字模块的所有命令import struct #导入struck模块,用于封装数据流长度# from functools import partial ...

  8. sklearn学习8-----GridSearchCV(自动调参)

    一.GridSearchCV介绍: 自动调参,适合小数据集.相当于写一堆循环,自己设定参数列表,一个一个试,找到最合适的参数.数据量大可以使用快速调优的方法-----坐标下降[贪心,拿当前对模型影响最 ...

  9. Extjs iconCls 的用法

    如何在按钮中加icon: 1.在Extjs中 { xtype:'button', text:'学生档案', iconCls:'file', }, 2.在css中写: .file{ background ...

  10. UVALive-8078 Bracket Sequence 简单dp

    题目链接:https://cn.vjudge.net/problem/UVALive-8078 题意 括号序列T是这样定义的: T是个空的 T是(T), {T}, 或者 [T] T是两个T组成的,比如 ...