HTTPClient基本使用-程序员宅基地

技术标签: java  

官方网站:https://hc.apache.org/

使用maven,在xml中引用

<!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient -->
<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
    <version>4.5.2</version>
</dependency>

第一个demo

第一个.java文件

package com.httpclient.demo;

import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.util.EntityUtils;
import org.testng.annotations.Test;

import java.io.IOException;

public class HttpClientDemo {
    @Test
    public void test01() {
        //创建get请求
        String uri = "https://www.baidu.com";
        HttpGet get = new HttpGet(uri);
        //获取http客户端
        CloseableHttpClient client = HttpClientBuilder.create().build();
        //响应模型
        CloseableHttpResponse response = null;
        try {
            //由http客户端,发送get请求
            response = client.execute(get);
            //从响应中,获取响应实体
            HttpEntity respEntity = response.getEntity();
            String result = EntityUtils.toString(respEntity, "utf-8");
            System.out.println(result);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

 执行结果:

 将配置文件进行优化

在项目resources目录下,建一个application.properties文件,将自己需要用的常量可以放在配置文件中

在测试类中,将配置文件引入:

    @BeforeTest
    public void beforeClass() {
        //将配置文件application.properties中,加载进来
        bundle = ResourceBundle.getBundle("application", Locale.CHINA);
        url = bundle.getString("test.url");
    }

字符编码:Locale.CHINA,将配置文件中的一些中文进行兼容

这个url这个变量,定义为全局变量,先在@BeforeTest中引入,然后url这个变量就被赋值了。下面就可以继续引用了

获取Cookie

下面?这个是另一个博主写的:https://segmentfault.com/a/1190000011142669

获取响应的状态码:

           //获取响应的状态码,直接在响应response中获取
            int statusCode = response.getStatusLine().getStatusCode();
            System.out.println("状态码 :" + statusCode);

 

转载于:https://www.cnblogs.com/starstarstar/p/11384628.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/diecheng0411/article/details/102292262

智能推荐

【比赛合集】19场可报名的「创新应用」、「可视化」和「程序设计」大奖赛,任君挑选!_程序软件创新比赛-程序员宅基地

文章浏览阅读932次。实时聚合多平台的(Kaggle、天池…)和(Leetcode、牛客…)比赛。本账号同时会推送最新的比赛消息,欢迎关注!近期CompHub对进行中的比赛增加了的识别,你可以直接在CompHub中浏览当前可报名的比赛, 而不用进入比赛主页才知道比赛的报名状态。本账号将会不定期推送当前可报名的比赛,方便大家查阅。 enjoy it!上期推送了,本期推送「创新应用」、「可视化」和「程序设计」这三个类别当前可报名的大奖赛。更多比赛信息见或 点击文末以下信息仅供参考,以比赛官网为准。_程序软件创新比赛

Linux中jprofiler安装使用教程_jprofiler linux-程序员宅基地

文章浏览阅读4.3k次,点赞2次,收藏9次。jprofiler是一款很好的性能分析工具,今天我们将介绍如何在Linux中安装使用jprofiler一、下载官网下载jprofiler,此处我们选择jprofiler9.2.1版本:https://www.ej-technologies.com/download/jprofiler/version_92注意,本地windows和Linux服务器要安装同一个版本的jprofiler,linux我们选用.TAR.GZG格式的安装包,windows安装需要填写注册码。Profiler ._jprofiler linux

浅谈流形学习_流形 知乎-程序员宅基地

文章浏览阅读1.4k次。作者:暮暮迷了路链接:https://www.zhihu.com/question/24015486/answer/194284643来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。最高票解释的很学术~我就说个定性而非定量的解释。流形学习的观点是认为,我们所能观察到的数据实际上是由一个低维流形映射到高维空间上的。由于数据内部特征的限制,一些高维中的数据会产生维度上的冗..._流形 知乎

ubuntu20.04 安装 Qt 后无法启动,出现报错:Could not load the Qt platform plugin “xcb” even though it was found!_could not load the qt platform plugin "xcb" in "" -程序员宅基地

文章浏览阅读4.3k次,点赞46次,收藏54次。本篇博文是记录了作者在安装Qt时遇到的问题以及解决方案。其中包括了Qt在ubuntu系统中的安装以及解决安装后无法启动Qt以及出现报错的问题(Could not load the Qt platform plugin "xcb" even though it was found)。_could not load the qt platform plugin "xcb" in "" even though it was found.

追踪oracle执行sql情况_oracle追踪sql-程序员宅基地

文章浏览阅读627次。记录在这里,防止以后忘了,不知道去哪里搜索select q.FIRST_LOAD_TIME, q.sql_text, q.modulefrom v$session s, v$sqlarea q where s.user# = q.parsing_user_id and s.status='ACTIVE' and s.username='JLSCM' --Sql用户名_oracle追踪sql

深度学习 一:Deep Learning基本概念及线性、非线性回归对比分析(sigmoid v.s. ReLU)_relu线性回归 神经网络-程序员宅基地

文章浏览阅读639次。深度学习是一类模式分析方法的统称,就具体研究内容而言,主要涉及三类方法:基于卷积运算的神经网络系统,即卷积神经网络(CNN);基于多层神经元的自编码神经网络,包括自编码(Auto encoder)以及近年来受到广泛关注的稀疏编码两类(Sparse Coding)。以多层自编码神经网络的方式进行预训练,进而结合鉴别信息进一步优化神经网络权值的深度置信网络(DBN)。_relu线性回归 神经网络

随便推点

Linux 配置SFTP,配置用户访问权限_subsystem sftp internal-sftp-程序员宅基地

文章浏览阅读6.5w次,点赞16次,收藏51次。版权声明:转载必须注明本文转自严振杰的博客:http://blog.yanzhenjie.com之前我服务器是使用的Windows Server 2003,这段时间由于访问量变大我还是机智的换成Linux了,在搭建FTP的时候看到网上都是推荐vsftpd,不过我不推荐这个家伙,看官且看下文。我推荐使用SSH自带的SFTP,SFTP是Secure File Transfer Prot..._subsystem sftp internal-sftp

BITS_TO_LONGS(nr)宏函数实现_bits_to_longs函数-程序员宅基地

文章浏览阅读389次,点赞8次,收藏7次。该宏定义中,BITS_PER_BYTE定义在include/linux/bits.h文件中,值为8。在x86_64架构下,改宏定义表示为,根据传入type的类型,获取对应类型的bit位数。整体宏函数的作用,就是传入的nr(一般指bit位数),需要占用long型数据的个数,不足一个时候向上取整。公式中减一,是为了保证除操作向上取整。_bits_to_longs函数

0x0000050蓝屏srvsys_分享蓝屏0x00000050提示srv.sys的解决方法-程序员宅基地

文章浏览阅读2.4k次。内容来源:系统家园今天来聊聊一篇关于分享蓝屏0x00000050提示srv.sys的解决方法的文章,现在就为大家来简单介绍下分享蓝屏0x00000050提示srv.sys的解决方法,希望对各位小伙伴们有所帮助。现出现蓝屏代码0x00000050现象,最可能的原因就是电脑内存的故障。也可能是软件不兼容性、病毒破坏了NTFS卷等原因导致的。方法一:一、了解了故障原因的之后,先对电脑上每个硬件进行注意替..._srv.sys蓝屏解决方法000050

2019-05-11 java学习日记-程序员宅基地

文章浏览阅读189次。May 10,2019 - JAVA 学习日记 Day1 一.计算的概述1,计算机是什么?2,计算机主要应用于哪几个方面?3,计算机硬件与软件?1.1,计算机(Computer)全称电子计算机,俗称电脑。是一种能够按照程序运行,自动、高速处理的现代化智能电子设备。由硬件和软件组成,没有安装任何软件的计算机称为裸机,常见形式有台式计算机、笔记本计算机、大型计算机等。计算...

套接字编程-实现基于TCP/IP和UDP的客户端和服务器-程序员宅基地

文章浏览阅读1.1k次,点赞33次,收藏12次。套接字编程允许你实现基于网络的应用程序。在Java中,java.net包提供了进行网络通信所必需的类和接口。TCP/IP和UDP是两种常见的网络协议,其中TCP是面向连接、可靠的流传输协议,而UDP是无连接、不可靠的数据报传输协议。

数字信号处理公式变程序(五)——仿matlab的spectrogram函数(STFT)_load chirp-程序员宅基地

文章浏览阅读3.1w次,点赞27次,收藏156次。上几篇文章写了DFT/FFT、插值、压缩、滤波器等数字信号处理中的算法,今天写一下STFT算法(其实我刚开始是想搞小波变换wavelet的,搞了个大概就转成STFT了)的介绍。注:可能会有代码、算法不足或者理解偏差的地方,路过的高人请不吝赐教。STFT开始!===========================================================..._load chirp