首页 > 代码库 > Httpclient处理摘要认证
Httpclient处理摘要认证
虽然摘要认证的安全性比BASIC认证提高了不少,但是从接口调用上来看,并不比BASIC认证复杂,而且Realm和Scheme参数都可以为空,这时候就和BASIC认证的调用方式一模一样了。
import java.net.URI; import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; import org.apache.http.client.CredentialsProvider; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpUriRequest; import org.apache.http.client.methods.RequestBuilder; import org.apache.http.impl.client.BasicCredentialsProvider; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; public class DigestTest { public static void main(String[] args) throws Exception { CredentialsProvider credsProvider = new BasicCredentialsProvider(); credsProvider.setCredentials(new AuthScope("10.0.0.90", 8080, "favourite digest realm", AuthScope.ANY_SCHEME), new UsernamePasswordCredentials("admin", "password")); CloseableHttpClient httpclient = HttpClients.custom().setDefaultCredentialsProvider(credsProvider).build(); HttpUriRequest login = RequestBuilder.post() .setUri(new URI("http://10.0.0.100:8080/hibaby/getBabiesByGender")) .addParameter("appKey", "BEST") .addParameter("gender", "boy").build(); CloseableHttpResponse response = httpclient.execute(login); System.out.println("响应状态:" + response.getStatusLine()); String result = EntityUtils.toString(response.getEntity(), "UTF-8"); System.out.println("Result: " + result); } }
本文出自 “这个人的IT世界” 博客,请务必保留此出处http://favccxx.blog.51cto.com/2890523/1880025
Httpclient处理摘要认证
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。