当前位置 : 主页 > 编程语言 > c++ >

通过用户登录验证调用api接口

来源:互联网 收集:自由互联 发布时间:2021-06-30
gistfile1.txt 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;/** *
gistfile1.txt
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;

/**
 * A simple example that uses HttpClient to perform a GET using Basic 
 * Authentication. Can be run standalone without parameters. 
 *
 * You need to have JSSE on your classpath for JDK prior to 1.4 
 *
 * @author Evan
 */
public class BasicAuthenticationExample {

    /**
     * Constructor for BasicAuthenticatonExample. 
     */
    public BasicAuthenticationExample() {
        super();
    }

    public static void main(String[] args) throws Exception {
        HttpClient client = new HttpClient();

        // 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("gerrit.ext.net.nokia.com", 443, "Gerrit Code Review"),
                new UsernamePasswordCredentials("zhongliu", "inSmPb0CS0auz0zl20spbQKXr0eHGCIp4zffJYCX5A"));

        // 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://gerrit.ext.net.nokia.com/gerrit/a/accounts/?q=is:active");

        // 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();
        }
    }
}
网友评论