http请求带用户名和密码验证 您所在的位置:网站首页 一般网络用户名和密码 http请求带用户名和密码验证

http请求带用户名和密码验证

2024-07-01 20:51| 来源: 网络整理| 查看: 265

发送http请求往往需要带用户名和密码,服务端进行授权验证

实现方式是将将用户名和密码放到请求头里面,采用Basic Authentication Scheme ,译为基本授权方案,想要了解的可以自己查查

下面是客户端和服务端的实现

客户端实现:

public void httpSetAuth() throws IOException { String url3="http://localhost:8085/wangdkMvc/httpTest/getAuthorization.aido"; PrintWriter out = null; BufferedReader in = null; String result = ""; String username = "zhangsan"; String password = "mima"; String input = username + ":" + password; URL realUrl = new URL(url3); // 打开和URL之间的连接 HttpURLConnection conn = (HttpURLConnection) realUrl.openConnection(); BASE64Encoder base = new BASE64Encoder(); String encodedPassword = base.encode(input.getBytes("UTF-8")); //将加密的账号密码放到请求头里,这里注意Basic后面要加空格 conn.setRequestProperty("Authorization", "Basic " + encodedPassword); conn.setConnectTimeout(6000*5); conn.setReadTimeout(6000*5); conn.setDoOutput(true); conn.setDoInput(true); // 获取URLConnection对象对应的输出流 out = new PrintWriter(conn.getOutputStream()); // 发送请求参数 out.print("{'type':'term','segId':'F5090A0445564C2ABE5225992C62FB710'}"); out.flush(); in = new BufferedReader( new InputStreamReader(conn.getInputStream(), "UTF-8")); String line; while ((line = in.readLine()) != null) { result += line; } System.out.println("resultMessage="+result); if(out!=null){ out.close(); } if(in!=null){ in.close(); } }

服务端实现:

@Controller @RequestMapping("/httpTest") public class httpController { @RequestMapping("/getAuthorization") @ResponseBody public void urlJsonPassworld(HttpServletRequest request, HttpServletResponse response) throws IOException { response.setCharacterEncoding("UTF-8"); request.setCharacterEncoding("UTF-8"); JSONObject returnJson = new JSONObject(); System.out.println("获取Authorization 验证信息如下"); System.out.println("request.getHeader(\"Authorization\"):"+request.getHeader("Authorization")); String[] auth = request.getHeader("Authorization").split(" "); String userAndPassworld=""; if(auth.length


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

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