basicauthenticationexample.java

来自「这是用JAVA的SOCKET类实现的HTTP CLIENT的代码。通过它可以让原」· Java 代码 · 共 44 行

JAVA
44
字号
package org.apache.commons.httpclient.demo;

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.UsernamePasswordCredentials;
import org.apache.commons.httpclient.auth.AuthScope;
import org.apache.commons.httpclient.methods.GetMethod;

public class BasicAuthenticationExample {
    public BasicAuthenticationExample() {
        super();
    }

    public static void main(String[] args) throws Exception {
        HttpClient client = new HttpClient();
        //设置代理服务器地址和端口
        client.getHostConfiguration().setProxy("90.0.12.21",808);

        // pass our credentials to HttpClient, they will only be used for
        // authenticating to servers with realm "realm" on the host
        // "www.verisign.com", to authenticate against
        // an arbitrary realm or host change the appropriate argument to null.
        client.getState().setCredentials(new AuthScope("www.verisign.com", 443,"realm"),
                                         new UsernamePasswordCredentials("username", "password"));
        // create a GET method that reads a file over HTTPS, we're assuming
        // that this file requires basic authentication using the realm above.
        GetMethod get = new GetMethod("https://www.verisign.com/products/index.html");
        // Tell the GET method to automatically handle authentication. The
        // method will use any appropriate credentials to handle basic
        // authentication requests.  Setting this value to false will cause
        // any request for authentication to return with a status of 401.
        // It will then be up to the client to handle the authentication.
        get.setDoAuthentication(true);
        try {
            // execute the GET
            int status = client.executeMethod(get);
            // print the status and response
            System.out.println(status + "\n" + get.getResponseBodyAsString());
        } finally {
            // release any connection resources used by the method
            get.releaseConnection();
        }
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?