JSP开发中Apache-HTTPClient 用户验证的实例详解
JSP开发中Apache-HTTPClient用户验证的实例详解
前言:
在微服务框架之外的系统中,我们经常会遇到使用httpClient进行接口调用的问题,除了进行白名单的设置,很多时候我们需要在接口调用的时候需要身份认证。翻了一下官方文档,解决方法很多,但是都不太符合实际业务场景,这里提供一种简单粗暴的解决方法。
解决方法:利用请求头,将验证信息保存起来。
实现代码:
publicclassHttpClientUtils{ protectedstaticfinalLoggerLOG=LoggerFactory.getLogger(HttpClientUtils.class); privatestaticfinalStringAUTHENKEY="Authorization"; privatestaticfinalStringBASICKEY="Basic"; publicstaticStringgetConnect(Stringurl,Stringusername,Stringpassword){ CloseableHttpResponseresponse=null; CloseableHttpClientclient=HttpClients.createDefault(); HttpGethttpGet=newHttpGet(url); Base64token=newBase64(); StringauthenticationEncoding=token.encodeAsString(newString(username+":"+password).getBytes()); httpGet.setHeader(AUTHENKEY,BASICKEY+authenticationEncoding); StringresponseContent=""; try{ response=client.execute(httpGet); HttpEntityentity=response.getEntity(); responseContent=EntityUtils.toString(entity,"UTF-8"); }catch(IOExceptione){ LOG.error(e.toString()); }finally{ if(response!=null){ try{ response.close(); }catch(IOExceptione){ LOG.error(e.toString()); } } if(client!=null){ try{ client.close(); }catch(IOExceptione){ LOG.error(e.toString()); } } } returnresponseContent; } }
以上就是Apache-HTTPClient用户验证的实例,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!