Apache HttpComponents 通过代理发送HTTP请求

package org.apache.http.examples.client;



import org.apache.http.HttpEntity;

import org.apache.http.HttpHost;

import org.apache.http.HttpResponse;

import org.apache.http.auth.AuthScope;

import org.apache.http.auth.UsernamePasswordCredentials;

import org.apache.http.client.methods.HttpGet;

import org.apache.http.conn.params.ConnRoutePNames;

import org.apache.http.impl.client.DefaultHttpClient;

import org.apache.http.util.EntityUtils;



/**

 * A simple example that uses HttpClient to execute an HTTP request

 * over a secure connection tunneled through an authenticating proxy.

 */

public class ClientProxyAuthentication {



    public static void main(String[] args) throws Exception {



        DefaultHttpClient httpclient = new DefaultHttpClient();

        try {

            httpclient.getCredentialsProvider().setCredentials(

                    new AuthScope("localhost", 8080),

                    new UsernamePasswordCredentials("username", "password"));



            HttpHost targetHost = new HttpHost("www.verisign.com", 443, "https");

            HttpHost proxy = new HttpHost("localhost", 8080);



            httpclient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);



            HttpGet httpget = new HttpGet("/");



            System.out.println("executing request: " + httpget.getRequestLine());

            System.out.println("via proxy: " + proxy);

            System.out.println("to target: " + targetHost);



            HttpResponse response = httpclient.execute(targetHost, httpget);

            HttpEntity entity = response.getEntity();



            System.out.println("----------------------------------------");

            System.out.println(response.getStatusLine());

            if (entity != null) {

                System.out.println("Response content length: " + entity.getContentLength());

            }

            EntityUtils.consume(entity);



        } finally {

            // When HttpClient instance is no longer needed,

            // shut down the connection manager to ensure

            // immediate deallocation of all system resources

            httpclient.getConnectionManager().shutdown();

        }

    }

}

HttpHost proxy = new HttpHost("localhost", 8888);设置代理的地址

 HttpResponse response = httpclient.execute(proxy,httppost);第一个参数为代理,第二个参数为真是地址

你可能感兴趣的:(component)