HttpClient简单使用:

首先:Apache官网下载 HttpClient,需要了解三个类
HttpClient 代表Http客户端 里面定义了很多http 请求执行行为
HttpEntity 消息载体,发送或者接收消息的载体,可以通过客户端请求或者服务器响应获取实例
HttpConnection 代表http连接
直接上代码,备注中有解释,关键现在HttpClient谷歌官方已经不怎么推荐了(Android2.3之前有一个bug,不过还是封装的挺号用的。):
HttpGet:

public void httpGet() {try {/***要了解的三个类* HttpClient 代表Http客户端HttpEntity 消息载体,发送或者接收消息的载体,可以通过客户端请求或者服务器响应获取实例HttpConnection 代表http连接**/// 创建默认的客户端实例HttpClient httpClient = new DefaultHttpClient();String url = "http://www.baidu.com";//HttpGet也可以带参数的:url + "?bookname=" + etBookName.getText().toString();// 创建get请求实例HttpGet httpGet = new HttpGet(url);// 客户端执行get请求 返回响应实体HttpResponse httpResponse = httpClient.execute(httpGet);//获得输入流,用BufferedReader包装BufferedReader in = new BufferedReader(new InputStreamReader(httpResponse.getEntity().getContent()));StringBuilder stringBuilder = new StringBuilder();String lines = null;//将内容写入StringBuilder中while ((lines = in.readLine()) != null) {lines = new String(lines.getBytes("UTF-8"));stringBuilder.append(lines);}in.close();Log.e("StringBuidler的值", stringBuilder.toString());showToast(stringBuilder.toString());} catch (IOException e) {e.printStackTrace();} }

HttpPost:

public void httpPost() {String url = "http://www.baidu.com";HttpClient httpClient = new DefaultHttpClient();HttpPost httpPost = new HttpPost(url);//创建请求的参数,这里与HttpGet不同List<NameValuePair> list = new ArrayList<>();list.add(new BasicNameValuePair("username", name.getText().toString()));list.add(new BasicNameValuePair("password", pass.getText().toString()));try {//url格式编码,解析成一个entity对象UrlEncodedFormEntity  uefEntity = new UrlEncodedFormEntity(list, "UTF-8");} catch (UnsupportedEncodingException e) {e.printStackTrace();}//设置请求内容httpPost.setEntity(uefEntity);//执行请求try {//使用客户端向服务器发送数据,获得返回值HttpResponse httpResponse = httpClient.execute(httpPost);BufferedReader in = new BufferedReader(new InputStreamReader(httpResponse.getEntity().getContent()));StringBuilder stringBuilder = new StringBuilder();String lines = null;//将内容写入StringBuilder中while ((lines = in .readLine()) != null) {lines = new String(lines.getBytes("UTF-8"));stringBuilder.append(lines);}in .close();Log.e("StringBuidler的值", stringBuilder.toString());showToast(stringBuilder.toString());} catch (IOException e) {e.printStackTrace();}}

HttpClient的简单使用--HttpGET和HttpPost相关推荐

  1. HttpClient模块的HttpGet和HttpPost及Connection to refuse解决

    Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE,分别对应查,改,增,删四种操作.Android中最常用的是HttpGet和HttpPost 无论 ...

  2. HttpURLConnection和HttpClient的简单用法

    HttpURLConnection的简单用法:先通过一个URL创建一个conn对象,然后就是可以设置get或者是post方法,接着用流来读取响应结果即可 String html = null;long ...

  3. HTTPGet 与HTTPPost的区别

    HTTPGet 与HTTPPost的区别 今天在老师工作室做项目的时候,突然看到一个页面用了2种不同的传值类型,突然有了兴趣,想弄明白本质的区别,虽然以前用的知道2种的用法,但是还是云里雾里的,下面是 ...

  4. android网络编程——HttpGet、HttpPost比较

    在Android SDK中提供了Apache HttpClient(org.apache.http.*)模块.在这个模块中涉及到两个重要的类:HttpGet和HttpPost,他们有共性也有不同. H ...

  5. java爬虫之基于httpclient的简单Demo(二)

    转载自 java爬虫之基于httpclient的简单Demo(二) 延续demo1的 java爬虫的2种爬取方式(HTTP||Socket)简单Demo(一),demo2出炉啦,大家想学爬虫都可以从这 ...

  6. HttpGet与HttpPost添加参数

    HttpGet与HttpPost添加参数 HttpGet添加参数 HttpGet是没有办法添加参数的,但是有时候访问的URI也包含参数,且参数较多,这时候,需要借助别的方法来添加参数. 1.直接使用字 ...

  7. 使用CloseableHttpClient 模拟发送HttpGet和HttpPost请求

    项目中经常会用到模拟Http请求,而jdk 下的 rt.jar核心库中也有 java.net提供了这方面的功能,但是总体而言,功能还是缺少灵活性和全面性,HttpClient的出现就是弥补了其缺失的功 ...

  8. HttpClient的简单使用

    目录 HttpClient的使用 一.maven坐标 二. 主要API 2.1 CloseableHttpClient 2.2 HttpClients 2.3 URIBuilder 2.4 HttpG ...

  9. JAVA——基于HttpComponents(HttpClient)的简单网络爬虫DEMO

    基本概念 HttpComponents(HttpClient): 超文本传输​​协议(HTTP)可能是当今Internet上使用的最重要的协议.Web服务,支持网络的设备和网络计算的增长继续将HTTP ...

  10. httpclient 的简单示例

    2019独角兽企业重金招聘Python工程师标准>>> 建立project,从maven repositories中导入httpclient.版本 java 1.8  httpcli ...

最新文章

  1. 用AI为美国政府“助纣为虐”,微软员工怒了
  2. JS正则表达式详解(转)
  3. loadrunner-2-9添加事务
  4. sin18度用计算机怎么算,sin18度等于多少怎么计算?谢谢
  5. Python花式编程案例锦集(1)
  6. 【Angular 4】 Cannot find module 'rxjs-compat'
  7. python应用-pycharm新建模板默认添加shebang编码作者时间等信息
  8. Linux上将二进制文件转化为c语言数组
  9. 鸿蒙系统正式面世,跨时代!“鸿蒙”系统正式面世!余承东:如有必要随时可替代安卓...
  10. IE浏览器—自定义地址协议详解(非转载)
  11. 2018.12.20 区块链论文翻译
  12. c语言如何删除链表相同元素,【图片】想问一道链表题,如何删除重复元素【c语言吧】_百度贴吧...
  13. Android studio 录屏并制作gif
  14. matlab制作有值显示的条形统计图
  15. Linux命令ln -snf给文件创建软链接和硬链接
  16. [FastDFS] 文件路径M00是什么意思
  17. 3d计算机原理,3d的技术原理有哪些
  18. 802.11a/b/g/n/ac, 802.11kvr 说明
  19. 用u盘把红旗linux操作系统安装到电脑硬盘c:,把系统装进U盘的详细步骤
  20. 使用Markdown绘制UML图

热门文章

  1. Hotpatching a C Function on x86
  2. 深入解析 ext2 文件系统
  3. python生成器的作用是什么_看完这篇,你就知道Python生成器是什么
  4. 【快速幂】a^b%p问题
  5. poj 3061 子序列
  6. ironpython2.7_IronPython
  7. dns修复工具一键修复_ps污点修复画笔工具怎么用?修复工具组(一)
  8. rdlc报表 矩形高固定_什么是 BI?和报表有什么关系?有了 BI 还要做报表吗?
  9. linux存放日志的目录下,linux系统各种日志存储路径和详细介绍
  10. 三个数比大小c语言_C语言必学知识点【结构体】用法很多,坑也很多!