JSP開發(fā)中Apache-HTTPClient 用戶驗(yàn)證的實(shí)例詳解
前言:
在微服務(wù)框架之外的系統(tǒng)中,我們經(jīng)常會(huì)遇到使用httpClient進(jìn)行接口調(diào)用的問題,除了進(jìn)行白名單的設(shè)置,很多時(shí)候我們需要在接口調(diào)用的時(shí)候需要身份認(rèn)證。翻了一下官方文檔,解決方法很多,但是都不太符合實(shí)際業(yè)務(wù)場景,這里提供一種簡單粗暴的解決方法。
解決方法:利用請(qǐng)求頭,將驗(yàn)證信息保存起來。
實(shí)現(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 用戶驗(yàn)證的實(shí)例,如有疑問請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
您可能感興趣的文章:- JSP 開發(fā)之hibernate配置二級(jí)緩存的方法
- Jsp+Servlet實(shí)現(xiàn)購物車功能
- java JSP開發(fā)之Spring中Bean的使用
- JSP 開發(fā)之Spring Security詳解
- JSP制作簡單登錄界面實(shí)例
- jsp頁面驗(yàn)證碼完整實(shí)例
- JSP Spring防止用戶重復(fù)登錄的實(shí)現(xiàn)方法
- JSP中springmvc配置validator的注意事項(xiàng)