开发者

Getting Unexpected 401 from Apache HTTPClient Basic Auth

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.

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.getCredentialsProvide开发者_Python百科r().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();


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)
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜