关于Httpclient的使用总结如下:
(1)当HttpClient的实例不再需要时,可以使用连接管理器关闭
httpclient.getConnectionManager().shutdown();
(2)针对HTTPs的协议的HttpClient请求必须用户和密码
httpclient.getCredentialsProvider()
.setCredentials(new AuthScope("localhost", 443),
new UsernamePasswordCredentials("username", "password"));
(3)如果不想获取HTTPClient返回的信息
httpclient.abort();
(4)httpclient传送文件的方式
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://www.apache.org");
File file = new File(args[0]);
InputStreamEntity reqEntity = new InputStreamEntity(
new FileInputStream(file), -1);
reqEntity.setContentType("binary/octet-stream");
reqEntity.setChunked(true);
// It may be more appropriate to use FileEntity class in this particular
// instance but we are using a more generic InputStreamEntity to demonstrate
// the capability to stream out data from any arbitrary source
//
// FileEntity entity = new FileEntity(file, "binary/octet-stream");
httppost.setEntity(reqEntity);
System.out.println("executing request " + httppost.getRequestLine());
HttpResponse response = httpclient.execute(httppost);
(5)获取Cookie的信息
HttpClient httpclient = new DefaultHttpClient();
// 创建一个本地Cookie存储的实例
CookieStore cookieStore = new BasicCookieStore();
//创建一个本地上下文信息
HttpContext localContext = new BasicHttpContext();
//在本地上下问中绑定一个本地存储
localContext.setAttribute(ClientContext.COOKIE_STORE, cookieStore);
//设置请求的路径
HttpGet httpget = new HttpGet("http://www.google.com/");
//传递本地的http上下文给服务器
HttpResponse response = httpclient.execute(httpget, localContext);
//获取本地信息
HttpEntity entity = response.getEntity();
System.out.println(response.getStatusLine());
if (entity != null) {
System.out.println("Response content length: " + entity.getContentLength());
}
//获取cookie中的各种信息
List<Cookie> cookies = cookieStore.getCookies();
for (int i = 0; i < cookies.size(); i++) {
System.out.println("Local cookie: " + cookies.get(i));
}
//获取消息头的信息
Header[] headers = response.getAllHeaders();
for (int i = 0; i<headers.length; i++) {
System.out.println(headers[i]);
}
(6)针对典型的SSL请求的处理
DefaultHttpClient httpclient = new DefaultHttpClient();
//获取默认的存储密钥类
KeyStore trustStore = KeyStore.getInstance(KeyStore.getDefaultType());
//加载本地的密钥信息
FileInputStream instream = new FileInputStream(new File("my.keystore"));
try {
trustStore.load(instream, "nopassword".toCharArray());
} finally {
instream.close();
}
//创建SSLSocketFactory,创建相关的Socket
SSLSocketFactory socketFactory = new SSLSocketFactory(trustStore);
//设置协议的类型和密钥信息,以及断开信息
Scheme sch = new Scheme("https", socketFactory, 443);
//在连接管理器中注册中信息
httpclient.getConnectionManager().getSchemeRegistry().register(sch);
(7)设置请求的参数的几种方式
A.在请求的路径中以查询字符串格式传递参数
B.在请求的实体中添加参数
List <NameValuePair> nvps = new ArrayList <NameValuePair>();
nvps.add(new BasicNameValuePair("IDToken1", "username"));
nvps.add(new BasicNameValuePair("IDToken2", "password"));
httpost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));
分享到:
相关推荐
httpclient,关于模拟登录的问题。从网站上下载下来的,归于一个总结
一、原Http使用总结 使用方法 1.在根模块或核心模块引入HttpModule 即在AppModule或CoreModule中引入HttpModule: import { HttpModule } from '@angular/http'; @NgModule({ import: [ HttpModule ] // ... })...
总结来说,【小程序名称】凭借其小巧便携、快捷高效的特性,不仅节省了用户的手机存储空间,更为用户提供了无缝衔接的便利服务,是现代生活中不可或缺的一部分,真正实现了“触手可及”的智能生活新体验。...
5 总结 9 Platform Builder之旅(一) 10 Platform Builder之旅(二) 12 Platform Builder之旅(三) 15 一、源码配置文件 15 二、镜像配置文件: 16 Platform Builder之旅(四) 22 【Windows CE安装目录】 22 ...
Apache HttpClient Hsql HTML Parser 全文索引/搜索 什么是全文索引? 为了快速搜索大量的文本文件 为一本书建立关键词的索引“书签” 什么是全文搜索? 在索引中查找关键字的过程,找到关键字在哪些地方出现 全文...
17.通过HttpClient从指定server获取数据 22 18.拖动Button获得位置 23 19.代码安装apk包 25 20.给模拟器打电话发短信 26 21.从google搜索内容 26 22.浏览网页 26 23.显示地图 26 25.拨打电话 27 26.调用发...
ImageView的边框 图片切换查看 ...HttpClient的一个应用的例子(图片下载).txt RatingBar 更换图片.doc TextView 添加超链接.doc TextView 滚动.doc 屏幕的横竖更改.doc 界面的横排和竖排.doc
ImageView的边框 图片切换查看 Android开发培训课件.ppt ...HttpClient的一个应用的例子(图片下载).txt RatingBar 更换图片.doc TextView 添加超链接.doc TextView 滚动.doc 屏幕的横竖更改.doc 界面的横排和竖排.doc
第一部分:主要从问题出发,引入接口测试的相关内容并与前端测试进行简单对比,总结两者之前的区别与联系。但该部分只交代了怎么做和如何做?并没有解释为什么要做?第二部分:主要介绍为什么要做接口测试,并简单...
因此,自己对此做了些总结,给出了我的一个解决方案。 首先,需要明确一下http通信流程,Android目前提供两种http通信方式,HttpURLConnection和HttpClient,HttpURLConnection多用于发送或接收流式数据,因此比较...
3,综合运用HttpClient+Jsoup+Kafka+SparkStreaming+StructuredStreaming+SpringBoot+Echarts等多种实用技术 适用人群 1、对大数据感兴趣的在校生及应届毕业生。 2、对目前职业有进一步提升要求,希望从事大数据...
leetcode分类总结 其他: com.hry.algorithm leetcode leetcode算法题 见同级文档leetcode.md recursive 递归算法 NQueen/NQueenII: 八皇后问题 sort:八大排序算法: letcode: 插入排序:InsertSort (队列分为两...
第二:利用HttpClient php类库 第一种方法: 复制代码 代码如下: <?PHP $flag = 0; //要post的数据 $argv = array( ‘var1’=>’abc’, ‘var2’=>’你好吗’); //构造要post的字符串 foreach ($argv as $key=>$...
总结:整体上看起来没有难度没有什么技术点 但逻辑思维紧密且对数据的传输跨度大 对数据库的修改较为复杂 采购进货负责人:(杨强) 客户可以直接新增,也可以点击以有信息进行回显新增 点击供商编号和项目编号...
关于项目 C#开发爬虫的知识总结,目前还在更新中。这并不是一个完整的爬虫程序,只是一些示例。 为什么要拿C#开发爬虫项目,因为个人还是比较喜欢C#。C#虽然库少一点,但想要的功能基本还是能实现的。 总结的知识点...
设计的Lumen Api起动器 :red_heart_selector:发现了网上很多的API相关的开发规范文档,参考了很多大佬们总结的经验,决定尝试使用最新版本的Lumen(当下最新版本是Lumen 8.x)来构建一个基础功能完备,规范统一,...
采用案例驱动模式展开讲解知识点,即介绍案例->案例涉及技术->展开知识点->总结的方式 本书作者从事多年一线开发和培训,讲解知识点力求细致,深入浅出 目 录 前言 第1章 Android操作系统概述 1 1.1 Android...
项目总结.avi │ 12.项目中遇到的问题.avi │ 13.quartz.avi │ aa.quartz框架.avi │ 淘淘商城第十二天笔记.docx │ ├─补充1:拔高课程(Redis3.0持久化、集群、MySQL5.6优化、Tomcat7优化) │ │ 打开必读.txt...