basic auth java_java发送带Basic Auth使用 httpclient自带的认证方式
Base64加密方式认证方式下的basic auth。
注意 base64的basic auth 使用
httpclient自带的认证方式如下会认证失败:CredentialsProvider provider = new BasicCredentialsProvider();UsernamePasswordCredentials credentials
= new UsernamePasswordCredentials("username", "user1Pass");provider.setCredentials(AuthScope.ANY, credentials);HttpClient client = HttpClientBuilder.create() .setDefaultCredentialsProvider(provider) .build();
成功通过的例子:package com.biologic.api.service.impl;import java.io.IOException;import java.util.Base64;import java.util.Map;import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.client.ClientProtocolException;import org.apache.http.client.methods.HttpPost;import org.apache.http.entity.ContentType;import org.apache.http.entity.mime.MultipartEntityBuilder;import org.apache.http.entity.mime.content.StringBody;import org.apache.http.impl.client.CloseableHttpClient;import org.apache.http.impl.client.HttpClientBuilder;import org.apache.http.util.EntityUtils;import org.springframework.stereotype.Service;import com.biologic.api.service.HttpService;@Service
public class HttpServiceImpl implements HttpService {
@Override
public int httpClientWithBasicAuth(String username, String password, String uri, Map paramMap) {
try {
// 创建HttpClientBuilder
HttpClientBuilder httpClientBuilder = HttpClientBuilder.create();
CloseableHttpClient closeableHttpClient = httpClientBuilder.build();
HttpPost httpPost = new HttpPost(uri);
//添加http头信息
httpPost.addHeader("Authorization", "Basic " + Base64.getUrlEncoder().encodeToString((username + ":" + password).getBytes()));
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
paramMap.forEach((k,v)->{
builder.addPart(k, new StringBody(v, ContentType.MULTIPART_FORM_DATA));
});
HttpEntity postEntity = builder.build();
httpPost.setEntity(postEntity);
String result = "";
HttpResponse httpResponse = null;
HttpEntity entity = null;
try {
httpResponse = closeableHttpClient.execute(httpPost);
entity = httpResponse.getEntity();
if( entity != null ){
result = EntityUtils.toString(entity);
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
// 关闭连接
closeableHttpClient.close();
System.out.println(result);
}catch (Exception e) {
System.out.println(e.getStackTrace());
}
return 0;
}
}
相关文章:
相关视频:
basic auth java_java发送带Basic Auth使用 httpclient自带的认证方式相关推荐
- java 发送带basic认证的http post请求实例代码_图解HTTP学习笔记(八)—确认访问用户身份的认证...
某些 Web 页面只想让特定的人浏览,或者干脆仅本人可见.为达到这个目标,必不可少的就是认证功能. 一.认证 核对登录者本人才知道的信息: 密码.动态令牌.数字证书.生物认证.IC卡等 HTTP 使用 ...
- 认证方式之SSO和Basic
序言 我们开发过程中注册在网关(APIGateWay)上的接口可以配置不同的认证模式(AuthMode),比较常见的是SSO单点登陆和Basic Auth,那么来看一下他们之间有什么区别. 单点登陆( ...
- HTTP的几种认证方式之BASIC 认证(基本认证)
目录 1.BASIC 认证(基本认证)的步骤 2.BASIC 认证的的缺点 3.Java + SpringBoot 实现 BASIC 认证的Demo 4.测试 5.注意事项 6.Java + Spri ...
- Basic认证方式访问url
同学们,今天我们来了解一下Basic认证.Basic认证在访问WebApi时需要验证账号密码,它是最基础的验证之一.通常我们裸奔一个服务的url,如果被别有用心的人拿到了,那么他就能无限调用接口操作数 ...
- JAP v1.0.5 发布,支持 Basic、Digest 和 Bearer 认证方式
概要: JAP 发布 1.0.5 重构 JAP 文档站 增加 starter 1. JAP 发布 1.0.5 1.1 增加 jap-http-api 模块 @Mvbbb 自 1.0.5 版本开始,JA ...
- VSFTP服务报错,pam_unix(vsftpd:auth): authenticatio,pam_unix(vsftpd:auth): check pass; user unknown pam_
VSFTP服务报错,pam_unix(vsftpd:auth): authenticatio, pam_unix(vsftpd:auth): check pass; user unknown pam_ ...
- 比RBAC更好的权限认证方式(Auth类认证)
Auth 类已经在ThinkPHP代码仓库中存在很久了,但是因为一直没有出过它的教程, 很少人知道它, 它其实比RBAC更方便 . RBAC是按节点进行认证的,如果要控制比节点更细的权限就有点困难了, ...
- VR带看是什么?VR带看有哪些功能优势?
VR带看是利用vr虚拟技术来实现远程带看的效果,目前教育.房产.外贸工厂对接用途广泛,VR看房就是VR带看其中之一,VR看房是目前房产行业的一个新技术,简单地说,可以通过平板电脑.手机等设备利用VR全 ...
- php 网址尾部带斜杠和不带区别,URL路径中带正斜杠/与不带的区别
简单理解:不带斜杠的URL结尾通常被服务器识别成独立文件,当它去查找这个文件缺失的时候,就会重定向到带斜杠的URL,这个时候带斜杠的URL,可以理解成为是目录. 解读URL结尾斜杠的产生: 举例: - ...
- 1.深度好文:带缓冲I/O 和不带缓冲I/O的区别与联系
首先要明白不带缓冲的概念:所谓不带缓冲,并不是指内核不提供缓冲,而是只单纯的系统调用,不是函数库的调用.系统内核对磁盘的读写都会提供一个块缓冲(在有些地方也被称为内核高速缓存),当用write函数对其 ...
最新文章
- python读取.locs文件
- 电脑关机慢是什么原因_为什么电脑无法关机?电脑无法正常关机的解决方案
- android studio查看字节码,使用Android studio查看Kotlin的字节码教程
- 后端开发者开发前端必会的工具(一):样式调试篇
- WSS学习(一)---简单部署图
- html 滚动条,菜鸟,ionic 滚动条
- 投毒、伪装、攻击,DNS 欺骗和钓鱼网站如何一步步诱人掉入陷阱?
- 产品配件删除,内容保存
- 详细分析GitLab CE 已遭在野利用漏洞 (CVE-2021-22205)
- jquery 新建的元素事件绑定问题
- FastReport问题整理
- master slave mysql_MYSQL高可用之复制(MASTER/SLAVE)
- Python ‘,=‘ 语句的使用
- java 报表系统源码_常用的6款Java开源报表制作工具
- 关闭默认共享-关于Windows的默认共享介绍
- 自动驾驶芯片,合适的才是最好的
- C语言复习——文件操作以及各种输入输出
- markdown图片旋转
- idea 将分支代码合并到master分支
- watir学习笔记/ruby