从Apache HTTPClient基本身份验证获取意外401 [英] Getting Unexpected 401 from Apache HTTPClient Basic Auth

查看:532
本文介绍了从Apache HTTPClient基本身份验证获取意外401的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用

I'm attempting to do basic auth with Apache HTTPClient 4.x using the example from the site, the only change being that I've extracted some details out into constants, however I'm not getting the results I was hoping for.

即,将日志记录设置为调试时,我得到:"DEBUG主客户端.DefaultHttpClient:1171-找不到凭据",接着是服务器发出的401错误.

Namely, with the logging turned up to debug, I'm getting: "DEBUG main client.DefaultHttpClient:1171 - Credentials not found", followed by a 401 error from the server.

我已经手动验证了我配置的凭据是否正确,并且未找到凭据"消息使我相信凭据从未在请求​​中传递.

I've manually validated that the credentials I've configured are correct, and the "Credentials not found" message leads me to believe the credentials were never passed in the request.

对我可能做错的事情有任何想法吗?

Any thoughts on what I might be doing wrong?

DefaultHttpClient httpClient = new DefaultHttpClient();

    httpClient.getCredentialsProvider().setCredentials(
            new AuthScope(API_HOST, API_PORT),
            new UsernamePasswordCredentials(API_USERNAME, API_PASSWORD));

    HttpGet httpget = new HttpGet(API_TEST_URL);

    System.out.println("executing request" + httpget.getRequestLine());
    HttpResponse response = httpClient.execute(httpget);
    HttpEntity entity = response.getEntity();

    System.out.println("----------------------------------------");
    System.out.println(response.getStatusLine());
    if (entity != null) {
        System.out.println("Response content length: " + entity.getContentLength());
    }
    if (entity != null) {
        entity.consumeContent();
    }

    httpClient.getConnectionManager().shutdown();

推荐答案

您确定AuthScope设置正确吗?尝试像这样设置它,以查看问题是否存在

Are you sure the AuthScope is set correctly? Try setting it like this just to see if the problem is there

new AuthScope(AuthScope.ANY_HOST, AuthScope.ANY_PORT)

这篇关于从Apache HTTPClient基本身份验证获取意外401的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆