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自带的认证方式相关推荐

  1. java 发送带basic认证的http post请求实例代码_图解HTTP学习笔记(八)—确认访问用户身份的认证...

    某些 Web 页面只想让特定的人浏览,或者干脆仅本人可见.为达到这个目标,必不可少的就是认证功能. 一.认证 核对登录者本人才知道的信息: 密码.动态令牌.数字证书.生物认证.IC卡等 HTTP 使用 ...

  2. 认证方式之SSO和Basic

    序言 我们开发过程中注册在网关(APIGateWay)上的接口可以配置不同的认证模式(AuthMode),比较常见的是SSO单点登陆和Basic Auth,那么来看一下他们之间有什么区别. 单点登陆( ...

  3. HTTP的几种认证方式之BASIC 认证(基本认证)

    目录 1.BASIC 认证(基本认证)的步骤 2.BASIC 认证的的缺点 3.Java + SpringBoot 实现 BASIC 认证的Demo 4.测试 5.注意事项 6.Java + Spri ...

  4. Basic认证方式访问url

    同学们,今天我们来了解一下Basic认证.Basic认证在访问WebApi时需要验证账号密码,它是最基础的验证之一.通常我们裸奔一个服务的url,如果被别有用心的人拿到了,那么他就能无限调用接口操作数 ...

  5. 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 ...

  6. 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_ ...

  7. 比RBAC更好的权限认证方式(Auth类认证)

    Auth 类已经在ThinkPHP代码仓库中存在很久了,但是因为一直没有出过它的教程, 很少人知道它, 它其实比RBAC更方便 . RBAC是按节点进行认证的,如果要控制比节点更细的权限就有点困难了, ...

  8. VR带看是什么?VR带看有哪些功能优势?

    VR带看是利用vr虚拟技术来实现远程带看的效果,目前教育.房产.外贸工厂对接用途广泛,VR看房就是VR带看其中之一,VR看房是目前房产行业的一个新技术,简单地说,可以通过平板电脑.手机等设备利用VR全 ...

  9. php 网址尾部带斜杠和不带区别,URL路径中带正斜杠/与不带的区别

    简单理解:不带斜杠的URL结尾通常被服务器识别成独立文件,当它去查找这个文件缺失的时候,就会重定向到带斜杠的URL,这个时候带斜杠的URL,可以理解成为是目录. 解读URL结尾斜杠的产生: 举例: - ...

  10. 1.深度好文:带缓冲I/O 和不带缓冲I/O的区别与联系

    首先要明白不带缓冲的概念:所谓不带缓冲,并不是指内核不提供缓冲,而是只单纯的系统调用,不是函数库的调用.系统内核对磁盘的读写都会提供一个块缓冲(在有些地方也被称为内核高速缓存),当用write函数对其 ...

最新文章

  1. python读取.locs文件
  2. 电脑关机慢是什么原因_为什么电脑无法关机?电脑无法正常关机的解决方案
  3. android studio查看字节码,使用Android studio查看Kotlin的字节码教程
  4. 后端开发者开发前端必会的工具(一):样式调试篇
  5. WSS学习(一)---简单部署图
  6. html 滚动条,菜鸟,ionic 滚动条
  7. 投毒、伪装、攻击,DNS 欺骗和钓鱼网站如何一步步诱人掉入陷阱?
  8. 产品配件删除,内容保存
  9. 详细分析GitLab CE 已遭在野利用漏洞 (CVE-2021-22205)
  10. jquery 新建的元素事件绑定问题
  11. FastReport问题整理
  12. master slave mysql_MYSQL高可用之复制(MASTER/SLAVE)
  13. Python ‘,=‘ 语句的使用
  14. java 报表系统源码_常用的6款Java开源报表制作工具
  15. 关闭默认共享-关于Windows的默认共享介绍
  16. 自动驾驶芯片,合适的才是最好的
  17. C语言复习——文件操作以及各种输入输出
  18. markdown图片旋转
  19. idea 将分支代码合并到master分支
  20. watir学习笔记/ruby

热门文章

  1. HP服务器虚拟IP,HP Jetdirect 打印服务器 - 用于 TCP/IP(UDP)连接的 HP Jetdirect 端口号...
  2. 如何将PS中的图片字体变为黑色
  3. Android学习笔记--菜单
  4. KVM切换器如何选购
  5. HTML 实现仿 Windows 桌面主题特效
  6. 零阶保持模型和一阶保持模型离散的推导
  7. 3D游戏场景模型制作的细节与技巧
  8. vmware共享文件夹不显示
  9. 新加坡亲子游,这些热门景点必须安排上
  10. javascript中使用getMonth()获得月份比实际月份少一个月