在java操作es时,可以使用HTTP请求的方式来连接es,一般es是没有密码限制的。但当es设置了用户名密码限制的时候我们需要在HTTP请求中携带用户名和密码,如何在HTTP请求中携带用户名密码,直接上代码

public class HttpUtils {public static String sendPost(String url, String param) {OutputStreamWriter out = null;BufferedReader in = null;String result = "";//用户名密码String input = "username"+":"+"password";try {BASE64Encoder base = new BASE64Encoder();String encodedPassword = base.encode(input.getBytes("UTF-8"));URL realUrl = new URL(url);// 打开和URL之间的连接HttpURLConnection  conn = (HttpURLConnection) realUrl.openConnection();conn.setConnectTimeout(30000);//设置连接主机超时(单位:毫秒)conn.setReadTimeout(30000);//设置从主机读取数据超时(单位:毫秒)// 设置通用的请求属性conn.setRequestProperty("Authorization", "Basic "+encodedPassword);conn.setRequestProperty("accept", "*/*");conn.setRequestProperty("connection", "Keep-Alive");conn.setRequestProperty("user-agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");// 发送POST请求必须设置如下两行conn.setDoOutput(true);conn.setDoInput(true);// 获取URLConnection对象对应的输出流out = new OutputStreamWriter(conn.getOutputStream(),"utf-8");// 发送请求参数out.write(param);// flush输出流的缓冲out.flush();if(conn.getResponseCode() == HttpURLConnection.HTTP_OK) { InputStream inputStream = conn.getInputStream();// 定义BufferedReader输入流来读取URL的响应in = new BufferedReader(new InputStreamReader(inputStream,"utf-8"));String line;while ((line = in.readLine()) != null) {result += line;}}else{InputStream errorStream = conn.getErrorStream();// 定义BufferedReader输入流来读取URL的响应in = new BufferedReader(new InputStreamReader(errorStream,"utf-8"));String line;while ((line = in.readLine()) != null) {result += line;}log.error("响应失败:"+conn.getResponseCode()+",响应信息"+conn.getResponseMessage()+",返回信息:"+result);}}catch (Exception e) {log.error("发送 POST 请求出现异常!"+e);e.printStackTrace();}//使用finally块来关闭输出流、输入流finally{try{if(out!=null){out.close();}if(in!=null){in.close();}}catch(IOException ex){log.error("关闭流异常"+ex);ex.printStackTrace();}}return result;}
}

HTTP请求携带用户密码验证相关推荐

  1. emqx配置mysql认证,emqx使用mysql完成用户密码验证和ACL鉴权

    emqx使用mysql完成用户密码验证和ACL鉴权 emqx使用mysql完成用户密码验证和ACL鉴权 摘要:前几篇博客介绍的是使用配置文件配置了ACL和客户端用户名密码配置实现生产环境下的安全登录和 ...

  2. MySQL8.0修改用户密码验证

    问题: MySQL升级到8.0,客户端或者连接器没有升级到8.0,连接时出现吧报错: Authentication plugin 'caching_sha2_password' is not supp ...

  3. emqx配置mysql认证_emqx使用mysql完成用户密码验证和ACL鉴权-Go语言中文社区

    摘要:前几篇博客介绍的是使用配置文件配置了ACL和客户端用户名密码配置实现生产环境下的安全登录和权限控制,各项配置比较繁琐,修改起来比较麻烦,下面介绍使用mysql进行统一的管理控制. 环境说明: 1 ...

  4. Linux利用nginx-gridfs搭建部署Nginx和MongoDB文件服务器,支持用户密码验证!

    nginx-gridfs是一个nginx的扩展模块,用于支持直接访问MongoDB的GridFS文件系统上的文件并提供 HTTP 访问 1,安装nginx,下载好安装包nginx和nginx-grid ...

  5. Kubernetes Dashboard 设置用户密码登陆

    Kubernetes Dashboard 设置用户密码登陆 Kubernetes 2019年05月20日 K8s 文档 K8s 1.13源码安装 k8s dashboard token访问 仪表板是基 ...

  6. 为什么每个请求都要有用户名密码呢,那不是每次都要查询一下了,token,表示这个用户已经验证通过了,在token有效期内,只需要判断token是否有效就可以了...

    为什么每个请求都要有用户名密码呢,那不是每次都要查询一下了,token,表示这个用户已经验证通过了,在token有效期内,只需要判断token是否有效就可以了 转载于:https://www.cnbl ...

  7. 十八.用户注册 ---- 用户名/用户密码/手机号验证 2021-04-07

    十八.用户注册 ---- 用户名/用户密码/手机号验证 引言 注:该篇文章接上一篇 十七.用户注册 ---- 图形验证码 在上一篇文章我们实现了用户注册中的图形验证码过程,接下来我们要实现用户名验证, ...

  8. python用户登录(输入用户名和密码)dic_Python使用装饰器模拟用户登陆验证功能示例...

    本文实例讲述了Python使用装饰器模拟用户登陆验证功能.分享给大家供大家参考,具体如下: # -*- coding:utf-8 -*- #!python3 user_list = [ {'name' ...

  9. 新浪微博用户密码泄露 经部分用户验证为真

    12月26日凌晨消息,新浪微博用户密码遭泄露.经部分用户验证,消息为真. 0点19分,<看天下>杂志主笔陈劲松在其微博透露,新浪微博用户密码库已被泄露,并提供电驴下载地址.TechWeb下 ...

最新文章

  1. SD-WAN的四个价值—Vecloud微云
  2. Frighting的日常:第6天
  3. opencv mat初始化_【OpenCV入门之十二】看起来一样的图像竟然存在这么大的差别!...
  4. VS2015 IIS Express 无法启动 解决办法(转)
  5. PyODPS DataFrame:统一的数据查询语言
  6. mongodb 可是化_Mongodb GUI可视化管理工具推荐
  7. 学习Python+numpy数组运算和矩阵运算看这254页PPT就够了
  8. oracle中update锁记录,oracle进行update时对行加锁的测试
  9. FPGA纯逻辑资源解码CameraLink视频,附带工程源码并详解
  10. 对近来安庆天气特征的总结(夏季)
  11. c 语言 sqlite,SQLite 的 C 语言编程
  12. Android 10.0 去掉SystemUI中的电池图标显示
  13. C++ OpenCV(四):绘制几何图形
  14. Word里面如何在两个字正中间加入点
  15. 访问国内网站提示无法访问
  16. AJAX简单思维导图
  17. rtx2060为什么叫智商卡_八款RTX2060简单点评,谁是丐中丐,谁又是丐帮帮主
  18. FFmpeg视频剪辑拼接
  19. 数据建模和数据库设计
  20. STEP 7-MicroWIN SMART软件在打开时报错“软件停止”以及界面显示“???”的解决办法

热门文章

  1. omap3530 linux串口驱动,omap3530(Cortex-A8)硬件平台软件调试笔记
  2. NKOJ 4043 (CQOI 2017) 老C的键盘 (树形DP)
  3. 用机器学习进行学生成绩预测的数据分析(入门向 附可用源码)
  4. Unity-射线检测
  5. [extjs5学习笔记]第三十七节 Extjs6预览版都有神马新东西
  6. 离散数学 传递闭包 Warshall算法
  7. 全球及中国常规救生艇行业研究及十四五规划分析报告
  8. 基于DSP 回传音通话降噪链路设计
  9. (java.sql.SQLException: Cannot create com.entity.Book: com.entity.Book ...: [1]解决方案)
  10. 项目管理之风险管理:如何系统化应对风险?