Httpclient处理摘要认证
虽然摘要认证的安全性比BASIC认证提高了不少,但是从接口调用上来看,并不比BASIC认证复杂,而且Realm和Scheme参数都可以为空,这时候就和BASIC认证的调用方式一模一样了。
importjava.net.URI;importorg.apache.http.auth.AuthScope;importorg.apache.http.auth.UsernamePasswordCredentials;importorg.apache.http.client.CredentialsProvider;importorg.apache.http.client.methods.CloseableHttpResponse;importorg.apache.http.client.methods.HttpUriRequest;importorg.apache.http.client.methods.RequestBuilder;importorg.apache.http.impl.client.BasicCredentialsProvider;importorg.apache.http.impl.client.CloseableHttpClient;importorg.apache.http.impl.client.HttpClients;importorg.apache.http.util.EntityUtils;publicclassDigestTest{publicstaticvoidmain(String[]args)throwsException{CredentialsProvidercredsProvider=newBasicCredentialsProvider();credsProvider.setCredentials(newAuthScope("10.0.0.90",8080,"favouritedigestrealm",AuthScope.ANY_SCHEME),newUsernamePasswordCredentials("admin","password"));CloseableHttpClienthttpclient=HttpClients.custom().setDefaultCredentialsProvider(credsProvider).build();HttpUriRequestlogin=RequestBuilder.post().setUri(newURI("http://10.0.0.100:8080/hibaby/getBabiesByGender")).addParameter("appKey","BEST").addParameter("gender","boy").build();CloseableHttpResponseresponse=httpclient.execute(login);System.out.println("响应状态:"+response.getStatusLine());Stringresult=EntityUtils.toString(response.getEntity(),"UTF-8");System.out.println("Result:"+result);}}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。