package
com.test;
import java.io.IOException;
import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpMethod;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.StatusLine;
import org.apache.commons.httpclient.methods.GetMethod;
public class RedirectTest ... {
public static void main(String[] args) throws IOException...{
HttpClient client = new HttpClient();
client.getHostConfiguration();
// client.getHostConfiguration().setHost("www.imobile.com.cn", 80, "http");
// client.getHostConfiguration().setHost("", 80);
HttpMethod method = new GetMethod("http://127.0.0.1:8080/httpClient/a.jsp");
client.executeMethod(method);
StatusLine statusMsg = method.getStatusLine();
System.out.println(statusMsg);
System.out.println(method.getResponseBodyAsString());
System.out.println("--------------------------------------------------------------------------");
//检查是否有重定向
int statusCode = method.getStatusCode();
System.out.println(statusCode);
if (statusCode == HttpStatus.SC_MOVED_PERMANENTLY || statusCode == HttpStatus.SC_MOVED_TEMPORARILY
|| statusCode == HttpStatus.SC_SEE_OTHER || statusCode == HttpStatus.SC_TEMPORARY_REDIRECT)...{
//读取新的URL地址
Header header = method.getRequestHeader("location");
if (header != null)...{
String newurl = header.getValue();
if (header == null || header.equals(""))...{
newurl = "/";
}
GetMethod redirect = new GetMethod(newurl);
client.executeMethod(redirect);
System.out.println("redirect: " + redirect.getStatusLine().toString());
redirect.releaseConnection();
}else...{
System.out.println("Invialid Redirect///");
}
}
}
}
import java.io.IOException;
import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpMethod;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.StatusLine;
import org.apache.commons.httpclient.methods.GetMethod;
public class RedirectTest ... {
public static void main(String[] args) throws IOException...{
HttpClient client = new HttpClient();
client.getHostConfiguration();
// client.getHostConfiguration().setHost("www.imobile.com.cn", 80, "http");
// client.getHostConfiguration().setHost("", 80);
HttpMethod method = new GetMethod("http://127.0.0.1:8080/httpClient/a.jsp");
client.executeMethod(method);
StatusLine statusMsg = method.getStatusLine();
System.out.println(statusMsg);
System.out.println(method.getResponseBodyAsString());
System.out.println("--------------------------------------------------------------------------");
//检查是否有重定向
int statusCode = method.getStatusCode();
System.out.println(statusCode);
if (statusCode == HttpStatus.SC_MOVED_PERMANENTLY || statusCode == HttpStatus.SC_MOVED_TEMPORARILY
|| statusCode == HttpStatus.SC_SEE_OTHER || statusCode == HttpStatus.SC_TEMPORARY_REDIRECT)...{
//读取新的URL地址
Header header = method.getRequestHeader("location");
if (header != null)...{
String newurl = header.getValue();
if (header == null || header.equals(""))...{
newurl = "/";
}
GetMethod redirect = new GetMethod(newurl);
client.executeMethod(redirect);
System.out.println("redirect: " + redirect.getStatusLine().toString());
redirect.releaseConnection();
}else...{
System.out.println("Invialid Redirect///");
}
}
}
}