一. 创建httpclient对象用于发送get、post等请求
1. HttpClients.custom()的方式--自定义httpclient对象,多用于含有cookie的请求
1. CookieStore cookieStore = new BasicCookieStore();
BasicClientCookie cookie = new BasicClientCookie("session","true");
cookie.setDomain("127.0.0.1");
cookie.setPath("/");
cookieStore.addCookie(cookie);
CloseableHttpClient httpclient = HttpClients.custom()
.setDefaultCookieStore(cookieStore)
.build();
2. HttpClients.createDefault()的方式--默认httpclient方式
CloseableHttpClient httpClient = HttpClients.createDefault();
二. 创建请求对象
1. Get请求:HttpGet get= new HttpGet("http://127.0.0.1:8899/getNoparams");
2. Post请求:HttpPost post = new HttpPost("http://127.0.0.1:8899/postNoparams");
3. 设置请求数据
1. form表单格式(Bean对象转Map,遍历Map添加到List集合中)
HashMap<String, String> hashMap = new HashMap<String, String>();
hashMap.put("name","zhangsan");
hashMap.put("age","18");
List<NameValuePair> list = new ArrayList<NameValuePair>();
Set<Map.Entry<String, String>> entries = hashMap.entrySet();
for(Map.Entry<String, String> entry:entries){
list.add(new BasicNameValuePair(entry.getKey(),entry.getValue()));
}
post.setEntity(new UrlEncodedFormEntity(list,"utf-8"));
2. json格式(Bean对象转JSON字符串)
1. User user = new User();
user.setName("zhangsan");
user.setAge("18");
String json = JSONObject.toJSON(user).toString();
post.setEntity(new StringEntity(json));
三. 发送请求 返回值类型为CloseableHttpResponse
CloseableHttpResponse response = httpclient.execute(post)
CloseableHttpResponse response = httpclient.execute(get)
四. 返回值转为字符串
String data = EntityUtils.toString(response.getEntity());

HTTPClients使用的更多相关文章

  1. URLConnection 和 HttpClients 发送请求范例

    . java.net.URLConnection package test; import java.io.BufferedReader; import java.io.IOException; im ...

  2. java后台訪问url连接——HttpClients

    java后台訪问url,并传递数据--通过httpclient方式 须要的包,包可能多几个额外的,假设无用或者冲突删除就可以.httpclient是使用的是4.4.1的版本号:http://downl ...

  3. Java 实现 HttpClients+jsoup,Jsoup,htmlunit,Headless Chrome 爬虫抓取数据

    最近整理一下手头上搞过的一些爬虫,有HttpClients+jsoup,Jsoup,htmlunit,HeadlessChrome 一,HttpClients+jsoup,这是第一代比较low,很快就 ...

  4. HttpClients+Jsoup抓取笔趣阁小说,并保存到本地TXT文件

    前言 首先先介绍一下Jsoup:(摘自官网) jsoup is a Java library for working with real-world HTML. It provides a very ...

  5. URLConnection 和 HttpClients 发送请求范例【原】

    笔记,未完全标准. java.net.URLConnection package test; import java.io.BufferedReader; import java.io.IOExcep ...

  6. 我的HttpClients工具

    import java.io.IOException; import javax.ws.rs.core.MediaType; import org.apache.commons.httpclient. ...

  7. HttpClient的替代者 - RestTemplate

    需要的包 ,除了Spring的基础包外还用到json的包,这里的数据传输使用json格式 客户端和服务端都用到一下的包 <!-- Spring --> <dependency> ...

  8. java.lang.NoSuchFieldError: org.apache.http.message.BasicLineFormatter.INSTANCE

    Android发出HTTP请求时出现了这个错误: java.lang.NoSuchFieldError: org.apache.http.message.BasicLineFormatter.INST ...

  9. java https单向认证(忽略认证)并支持http基本认证

    https单向认证(忽略认证)并支持http基本认证, 温馨提示 1,jar包要导入对 2,有匿名类编译要注意 3,欢迎提问,拿走不谢!背景知识 Https访问的相关知识中,主要分为单向验证和双向验证 ...

  10. [Java]使用HttpClient实现一个简单爬虫,抓取煎蛋妹子图

    第一篇文章,就从一个简单爬虫开始吧. 这只虫子的功能很简单,抓取到”煎蛋网xxoo”网页(http://jandan.net/ooxx/page-1537),解析出其中的妹子图,保存至本地. 先放结果 ...

随机推荐

  1. next.js 源码解析 - getStaticProps、getStaticPaths 篇

    好久前写了关于 getStaticProps 和 getStaticPaths 的内容,然而半年过去了源码解析就一直忘记了,不久前有人提醒才想起来,补下坑. 本文主要是解读下 getStaticPro ...

  2. Sparse-coding-based method in super resolution

    Is sparse-coding-based method still important in super resolution? Yes, sparse-coding-based methods ...

  3. 《最新出炉》系列初窥篇-Python+Playwright自动化测试-14-playwright操作iframe-番外篇

    1.简介 通过前边三篇的学习,想必大家已经对iframe有了一定的认识和了解,今天这一篇主要是对iframe的一些特殊情况的介绍和讲解,主要从iframe的定位.监听事件和执行js脚本三个方面进行展开 ...

  4. jdk17下netty导致堆内存疯涨原因排查

    背景: 介绍 天网风控灵玑系统是基于内存计算实现的高吞吐低延迟在线计算服务,提供滑动或滚动窗口内的count.distinctCout.max.min.avg.sum.std及区间分布类的在线统计计算 ...

  5. MD5&MD5盐值加密到BCryptPasswordEncoder

    MD5&MD5盐值加密 Message Digest algorithm5,信息摘要算法: 压缩性:任意长度的数据,算出的MD5值长度都是固定的 容易计算:从原数据计算出MD5值很容易 抗修改 ...

  6. 在阿里云和腾讯云的轻量应用服务器上搭建Hadoop集群

    引入 本文在两台2核2g的云服务器上搭建了Hadoop集群,两台云服务器分别是阿里云(hjm)和腾讯云(gyt),集群部署规划如下: hjm gyt HDFS NameNode\SecondaryNa ...

  7. Solution -「CF 1096E」The Top Scorer

    Description Link. 小明在打比赛,包括小明自己一共有 \(p\) 名选手参赛,每个人的得分是一个非负整数.最后的冠军是得分最高的人,如果得分最高的人有多个,就等概率从这些人中选一个当冠 ...

  8. 查看docker容器使用的cpu和内存

    转载请注明出处: 使用docker ps命令列出正在运行的Docker容器,并获取目标容器的ID或名称. 使用docker stats <容器ID或名称>命令来实时监测指定容器的资源使用情 ...

  9. umich cv-2-1

    UMICH CV Linear Classifiers 对于使用线性分类器来进行图片分类,我们可以给出这样的参数化方法: 而对于这样一个式子,我们怎么去理解呢? 首先从代数的角度,这个f(x,W)就是 ...

  10. C++在HotSpot VM中一种巧妙的内存管理方式

    在HotSpot VM中定义了一个Relocation类及相关的子类,可以通过这些类操作不同的重定位数据,如在CodeCache中读写这些数据.这些类需要的内存很小,但是不同的类需要的内存大小又不一样 ...