HTTP请求携带用户密码验证 您所在的位置:网站首页 e站用户名和密码 HTTP请求携带用户密码验证

HTTP请求携带用户密码验证

#HTTP请求携带用户密码验证| 来源: 网络整理| 查看: 265

在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; } }


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有