天天看点

commons-httpclient.jar的使用(处理页面重定向)

commons-httpclient.jar的使用(处理页面重定向)

package  com.test;

commons-httpclient.jar的使用(处理页面重定向)
commons-httpclient.jar的使用(处理页面重定向)

import  java.io.IOException;

commons-httpclient.jar的使用(处理页面重定向)
commons-httpclient.jar的使用(处理页面重定向)

import  org.apache.commons.httpclient.Header;

commons-httpclient.jar的使用(处理页面重定向)

import  org.apache.commons.httpclient.HttpClient;

commons-httpclient.jar的使用(处理页面重定向)

import  org.apache.commons.httpclient.HttpMethod;

commons-httpclient.jar的使用(处理页面重定向)

import  org.apache.commons.httpclient.HttpStatus;

commons-httpclient.jar的使用(处理页面重定向)

import  org.apache.commons.httpclient.StatusLine;

commons-httpclient.jar的使用(处理页面重定向)

import  org.apache.commons.httpclient.methods.GetMethod;

commons-httpclient.jar的使用(处理页面重定向)
commons-httpclient.jar的使用(处理页面重定向)
commons-httpclient.jar的使用(处理页面重定向)

public   class  RedirectTest  ... {

commons-httpclient.jar的使用(处理页面重定向)
commons-httpclient.jar的使用(处理页面重定向)
commons-httpclient.jar的使用(处理页面重定向)

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

commons-httpclient.jar的使用(处理页面重定向)
commons-httpclient.jar的使用(处理页面重定向)

        HttpClient client = new HttpClient();

commons-httpclient.jar的使用(处理页面重定向)
commons-httpclient.jar的使用(处理页面重定向)

        client.getHostConfiguration();

commons-httpclient.jar的使用(处理页面重定向)

    //    client.getHostConfiguration().setHost("www.imobile.com.cn", 80, "http");

commons-httpclient.jar的使用(处理页面重定向)

    //    client.getHostConfiguration().setHost("", 80);

commons-httpclient.jar的使用(处理页面重定向)
commons-httpclient.jar的使用(处理页面重定向)

        HttpMethod method = new GetMethod("http://127.0.0.1:8080/httpClient/a.jsp");

commons-httpclient.jar的使用(处理页面重定向)

        client.executeMethod(method);

commons-httpclient.jar的使用(处理页面重定向)

        StatusLine statusMsg = method.getStatusLine();

commons-httpclient.jar的使用(处理页面重定向)

        System.out.println(statusMsg);

commons-httpclient.jar的使用(处理页面重定向)

        System.out.println(method.getResponseBodyAsString());

commons-httpclient.jar的使用(处理页面重定向)

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

commons-httpclient.jar的使用(处理页面重定向)
commons-httpclient.jar的使用(处理页面重定向)
commons-httpclient.jar的使用(处理页面重定向)

        //检查是否有重定向

commons-httpclient.jar的使用(处理页面重定向)

        int statusCode = method.getStatusCode();

commons-httpclient.jar的使用(处理页面重定向)

        System.out.println(statusCode);

commons-httpclient.jar的使用(处理页面重定向)

        if (statusCode == HttpStatus.SC_MOVED_PERMANENTLY || statusCode == HttpStatus.SC_MOVED_TEMPORARILY 

commons-httpclient.jar的使用(处理页面重定向)
commons-httpclient.jar的使用(处理页面重定向)

                || statusCode ==  HttpStatus.SC_SEE_OTHER || statusCode == HttpStatus.SC_TEMPORARY_REDIRECT)...{

commons-httpclient.jar的使用(处理页面重定向)

            //读取新的URL地址

commons-httpclient.jar的使用(处理页面重定向)

            Header header = method.getRequestHeader("location");

commons-httpclient.jar的使用(处理页面重定向)
commons-httpclient.jar的使用(处理页面重定向)

            if (header != null)...{

commons-httpclient.jar的使用(处理页面重定向)

                String newurl = header.getValue();

commons-httpclient.jar的使用(处理页面重定向)
commons-httpclient.jar的使用(处理页面重定向)

                if (header == null || header.equals(""))...{

commons-httpclient.jar的使用(处理页面重定向)

                    newurl = "/";

commons-httpclient.jar的使用(处理页面重定向)

                }

commons-httpclient.jar的使用(处理页面重定向)

                GetMethod redirect = new GetMethod(newurl);

commons-httpclient.jar的使用(处理页面重定向)

                client.executeMethod(redirect);

commons-httpclient.jar的使用(处理页面重定向)

                System.out.println("redirect:  " + redirect.getStatusLine().toString());

commons-httpclient.jar的使用(处理页面重定向)

                redirect.releaseConnection();

commons-httpclient.jar的使用(处理页面重定向)
commons-httpclient.jar的使用(处理页面重定向)

            }else...{

commons-httpclient.jar的使用(处理页面重定向)

                System.out.println("Invialid Redirect///");

commons-httpclient.jar的使用(处理页面重定向)

            }

commons-httpclient.jar的使用(处理页面重定向)

        }

commons-httpclient.jar的使用(处理页面重定向)
commons-httpclient.jar的使用(处理页面重定向)

    }

commons-httpclient.jar的使用(处理页面重定向)

}

commons-httpclient.jar的使用(处理页面重定向)