HttpClient请求接口实例demo
HttpClient是Apache中的一个开源的项目。它实现了HTTP标准中Client端的所有功能,使用它能够很容易地进行HTTP信息的传输。HttpClient的主要功能:
- 实现了所有 HTTP 的方法(GET、POST、PUT、HEAD、DELETE、HEAD、OPTIONS 等)
- 支持 HTTPS 协议
- 支持代理服务器(Nginx)
- 支持自动(跳转)转向 等等
HttpCLient最关键的方法是执行HTTP请求的方法execute。只要把HTTP请求传入,就可以得到HTTP响应。
使用HttpClient请求一个Http请求的步骤为:
(1)创建一个HttpClient对象
(2)创建一个Request对象
(3)使用HttpClient来执行Request请求,得到对方的response
(4)处理response
(5)关闭HttpClient
本人使用的是fegin包下面的httpclient ,当然也可以使用 httpcomponents下的依赖。
接下来我们在idea中进行尝试一下。首先引入httpClient的maven依赖。
<dependency>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-httpclient</artifactId>
</dependency>
<dependency>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-jackson</artifactId>
</dependency>
httpcomponents pom 目前最高的可以点击下方的链接去查看
<!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpcore -->
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<version>4.4.10</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient -->
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.6</version>
</dependency>
代码如下
public static void main(String[] args) throws IOException {
CloseableHttpClient httpClient = HttpClients.createDefault();
//POST 请求
HttpPost httpPost = new HttpPost();
//GET 请求
HttpGet httpGet = new HttpGet("");
//设置接口请求头信息
httpPost.addHeader("Authorization","xxx");
httpPost.addHeader("Content-Type", "application/json;charset=utf8");
CloseableHttpResponse response = httpClient.execute(httpGet);
if (response.getStatusLine().getStatusCode() == 200) {
HttpEntity entity = response.getEntity();
String result = EntityUtils.toString(entity, "utf-8");
//TODO 在这里处理请求后的数据逻辑
System.out.println(result);
}
//5.关闭资源
response.close();
httpClient.close();
}
}
具体的httpGet类中的代码如下
package org.apache.http.client.methods;
import java.net.URI;
public class HttpGet extends HttpRequestBase {
public static final String METHOD_NAME = "GET";
public HttpGet() {
}
public HttpGet(URI uri) {
this.setURI(uri);
}
public HttpGet(String uri) {
this.setURI(URI.create(uri));
}
public String getMethod() {
return "GET";
}
}
HttpClient请求接口实例demo的更多相关文章
- httpclient请求接口,上传文件附加参数(.net core)
/// <summary> /// 上传文件 - 武汉站点 /// </summary> [HttpPost] public IActionResult UploadWH(Re ...
- Python 简单批量请求接口实例
#coding:utf-8 ''' Created on 2017年11月10日 @author: li.liu ''' import urllib import time str1=''' http ...
- iOS开发-网络-合理封装请求接口
概述 如今大多App都会与网络打交道,作为开发者,合理的对网络后台请求接口进行封装十分重要.本文要介绍的就是一种常见的采用回调函数(方法)的网络接口封装,也算的是一种构架吧. 这个构架主要的idea是 ...
- java实现利用httpclient访问接口
HTTP协议时Internet上使用的很多也很重要的一个协议,越来越多的java应用程序需要通过HTTP协议来访问网络资源. HTTPClient提供的主要功能: 1.实现了所有HTTP的方法(GET ...
- Android微信分享功能实例+demo
Android微信分享功能实例 1 微信开放平台注册 2 获得appId,添加到程序中,并运行程序 3 使用应用签名apk生成签名,添加到微信开放平台应用签名,完成注册 4 测试分享功能. 有问题请留 ...
- HttpClient请求服务器代码优化版
HttpClient请求服务器代码优化版 首先,我在前面的两篇博文中介绍了在 Android中,除了使用java.net包下HttpUrlConnection的API访问HTTP服务之外,我们还可以换 ...
- Asp.Net Core基于JWT认证的数据接口网关Demo
近日,应一位朋友的邀请写了个Asp.Net Core基于JWT认证的数据接口网关Demo.朋友自己开了个公司,接到的一个升级项目,客户要求用Aps.Net Core做数据网关服务且基于JWT认证实现对 ...
- mybatis 学习笔记 -详解mybatis 及实例demo
快速入门1 要点: 首先明白mybatis 是什么 这是一个持久层的框架.之前叫做ibatis.所以,在它的代码中出现ibatis这个词的时候,不要感到惊讶.不是写错了,它确实就是这个样子的. 首先, ...
- 支付宝即时到账接口开发 - DEMO讲解
支付宝即时到帐接口 环境要求 PHP5.0以上,且需要开启curl.openssl. 文档地址: https://doc.open.alipay.com/doc2/detail?treeId=62&a ...
- HttpClient远程接口调用-实名认证
1.HttpClient远程接口调用 1)用户注册 注册按钮button提交表单时,要return false form表单 <!-- action="http://localhost ...
随机推荐
- Windows 批量测试 ip:port 是否通畅
使用 telnet + cmd 脚本处理: @echo off start cmd /k "telnet 10.2.3.29 3000" start cmd /k "te ...
- ubuntu配置docker全局系统代理
(1)添加用户到docker用户组 sudo groupadd docker sudo gpasswd -a kang docker (注销系统当前用户,再次登录) #检查是否添加到组 cat /et ...
- ptyhon基础课程_2
10 输入 # 例一 user_name = input ("请输入姓名:") message = user_name + "shaobing" print ( ...
- 前端导出文件流[object Object]
情景:后台返回文件流,前端导出. 参照网上的文章配置responseType:'blob' :blob导出文件乱码_前端小菜鸟__简单的博客-CSDN博客_blob导出乱码 后台管理项目blob导出文 ...
- 可收集ALC问题[Microsoft.Data.SqlClient is not supported on this platform.]
异常 Microsoft.Data.SqlClient is not supported on this platform. 堆栈跟踪 at Microsoft.Data.SqlClient.SqlC ...
- Android 6.0动态添加权限(Finn_ZengYuan博客)
1,随着手机版本变高,各种权限也有所限制:以下代码可人性化添加动态权限: 权限工具类1,2,3,4: 1,FinnPermissionConfig.CLass package com.finn.too ...
- VMware vSphere Client(4.1/5.0/5.1/5.5/6.0) 客户端下载地址
前言 VMware作为商业虚拟化方案的佼佼者不知不觉中已经成长为一颗苍天大树,面对OpenStack和Docker的夹击希望VMware可以继续勇往直前,从vSphere 6.5开始终于彻底告别Cli ...
- 测试 SqlServer 数据库连接的简单办法
1.创建一个文件, 命名为"dba.udl". #保证后缀是.udl即可 2.双击它: 3.输入数据库地址"xxx.xxx.xxx.xxx,端口号&qu ...
- centos 服务器配置网络ifconfig位置
path : /etc/sysconfig/network-scripts/ifcfg-enoxxx
- sdp安装及实例
环境: sdpserver:192.168.1.160 sdpclient:192.168.1.161 安装 yum install gcc gcc-c++ libpcap* libtool* wge ...