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 ...
随机推荐
- ADE-XL bsub提交超时
查找命令行log, Fatal server error: could not open default font 'fixed' 解决方案: yum install 'xorg-x11-font*'
- Python的入门学习Day 16~18——form”夜曲编程“
Day 16 Day 17 time:2021.8.14. 今天七夕.激动,喜悦.平静呼吸,嘻嘻~ 也许我也是天空.去看课程了,嗯.今天重点学习了循环的对立面--"跳出循环"的 ...
- sxt_(001_002)_web简介
一.web 网络.网页二.web应用 运行在网络上的应用程序.三.网络应用的分类 3.1 c/s:client/server 如:qq.yy.lol 优点: 个性化更容易实现 更安全 占用网络资源少. ...
- 2023-03-03 js map 双重嵌套
恩..其实也没啥要记录的,记住关键一点就是必须要有return,不管是几重,比如: arr.map((item, index) => { return ( item.ar ...
- 2023-03-01 Warning: require(C:\wamp\www\tp5\public../thinkphp/base.php): failed to open stream: No such file or directory in C:\wamp\www\tp5\public\index.php on line 15
问题描述:拉取thinkphp5项目来运行,按照官网的提示都拉取完仓库后,在浏览器访问localhost/tp5/public报错: Warning: require(C:\wamp\www\tp5\ ...
- flask框架的使用
在学习了DJango后,又学习FLASK框架,刚入手的感觉就是好简单啊,简单的7行代码,就能搭建一个简单的WEB服务器. from flask import Flask app = Flask(__n ...
- 如何用premiere添加配乐?pr视频添加音乐
在pr中,怎么给视频添加音乐? 给视频添加音乐,有两种情况:1是视频音乐已存在:2是视频没有音乐,只是单纯的视频. 1.从酷狗音乐里下载一首音乐到桌面. 2.将音乐文件直接拖动到音频轨道里,把素材面板 ...
- HBase对表增查操作 API
public class HBaseDML { //静态属性 public static Connection conn = HBaseConnection2.conn; //添加数据 public ...
- Android学习——控件ImageView
1.主要属性 2.缩放类型
- ref(代替id)
App.vue <template> <div> <Student ref="str"/> <h3 v-text="age&qu ...