这是我的代码:
private DefaultHttpClient httpClient;
public HttpAPIRequest(String authScope, int port, Credentials credentials){
httpClient = new DefaultHttpClient();
httpClient.getCredentialsProvider().setCredentials(
new AuthScope(authScope, port),
new UsernamePasswordCredentials(credentials.getUsername(), credentials.getPassword()));
}
public String request(String apiUrl) throws ClientProtocolException, IllegalStateException, IOException{
HttpGet httpGet = new HttpGet(apiUrl);
HttpResponse response = httpClient.execute(httpGet);
return getResponseBody(response);
}
这是我在我的回复者中得到的错误
HTTP错误401.2 - 未经授权:由于服务器而拒绝访问 configuration.Internet Information Services(IIS)
您无权使用以下方式查看此目录或页面 您提供的凭据,因为您的Web浏览器正在发送 未配置Web服务器的WWW-Authenticate头字段 接受。
我怎样才能解决这个问题?
答案 0 :(得分:0)
有几种方法可以对URL进行身份验证,而您收到的错误表明您正在发送WWW-Authenticate标头,但Web服务器未配置为接受它。您要对哪个网址进行身份验证?当您尝试使用常规Web浏览器访问它时,它会是什么样子?
很可能,它配置为“基于表单的身份验证”,这意味着有一个包含Web表单的普通网页,您可以通过发布表单参数等来编写脚本。