JSP開發(fā)中Apache-HTTPClient 用戶驗證的實例詳解
前言:
在微服務框架之外的系統(tǒng)中,我們經(jīng)常會遇到使用httpClient進行接口調(diào)用的問題,除了進行白名單的設置,很多時候我們需要在接口調(diào)用的時候需要身份認證。翻了一下官方文檔,解決方法很多,但是都不太符合實際業(yè)務場景,這里提供一種簡單粗暴的解決方法。
解決方法:利用請求頭,將驗證信息保存起來。
實現(xiàn)代碼:
public class HttpClientUtils { protected static final Logger LOG = LoggerFactory.getLogger(HttpClientUtils.class); private static final String AUTHENKEY = "Authorization"; private static final String BASICKEY = "Basic "; public static String getConnect(String url,String username,String password) { CloseableHttpResponse response = null; CloseableHttpClient client = HttpClients.createDefault(); HttpGet httpGet = new HttpGet(url); Base64 token = new Base64(); String authenticationEncoding = token.encodeAsString(new String(username + ":" + password).getBytes()); httpGet.setHeader(AUTHENKEY, BASICKEY + authenticationEncoding); String responseContent = ""; try { response = client.execute(httpGet); HttpEntity entity = response.getEntity(); responseContent = EntityUtils.toString(entity, "UTF-8"); } catch (IOException e) { LOG.error(e.toString()); } finally { if (response != null) { try { response.close(); } catch (IOException e) { LOG.error(e.toString()); } } if (client != null) { try { client.close(); } catch (IOException e) { LOG.error(e.toString()); } } } return responseContent; }}
以上就是Apache-HTTPClient 用戶驗證的實例,如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
新聞熱點
疑難解答