分享

HttpClient登录人人网

 老年图书馆 2012-06-18
package com.demo;

import java.io.File;

import org.apache.commons.httpclient.Cookie;   
import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;   
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.NameValuePair;   
import org.apache.commons.httpclient.cookie.CookiePolicy;
import org.apache.commons.httpclient.methods.GetMethod;   
import org.apache.commons.httpclient.methods.PostMethod;
public class LoginRenRen {   
private static final String LOGON_SITE = "www.renren.com";   
private static final int LOGON_PORT = 80;   
public static void main(String[] args)throws Exception {   
   HttpClient client = new HttpClient();   
   client.getHostConfiguration().setHost(LOGON_SITE, LOGON_PORT, "http"); //配置服务器参量
   client.getParams().setCookiePolicy(CookiePolicy.BROWSER_COMPATIBILITY); //配置Cookie策略为浏览器默认策略  
   //登录页面   
   PostMethod post = new PostMethod("http://www.renren.com/PLogin.do");   
   NameValuePair ie = new NameValuePair("User-Agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)");      
   NameValuePair url = new NameValuePair("origURL", "http://www.renren.com/Home.do");
   //NameValuePair domain = new NameValuePair("domain", "renren.com");
   NameValuePair username = new NameValuePair("email","账号");   
   NameValuePair password = new NameValuePair("password", "密码");
   NameValuePair isplogin = new NameValuePair("isplogin", "true");
   NameValuePair formName = new NameValuePair("formName", "");
   NameValuePair method = new NameValuePair("method", "");
   post.setRequestBody(new NameValuePair[] {ie,url,username, password,isplogin,formName,method});   
   int statusCode = client.executeMethod(post);
   if (statusCode == HttpStatus.SC_MOVED_PERMANENTLY ||
     statusCode == HttpStatus.SC_MOVED_TEMPORARILY) {
    // 从头中取出转向的地址
    Header locationHeader = post.getResponseHeader("location");
    String location = null;
    if (locationHeader != null) {
     location = locationHeader.getValue();
     System.out.println("页面重定向:" + location);
    } else {
     System.err.println("Location field value is null.");
     //return;
    }    
   }
   System.out.println("******************************登录******************************");   
   Cookie[] cookies = client.getState().getCookies();   
   client.getState().addCookies(cookies);
   post.releaseConnection();   
   System.out.println("******************************页面转向******************************");   
   String newUrl="http://www.renren.com/home";   
   System.out.println("=================================Cookies==============================");   
   int i=0;   
   for(Cookie c:cookies){   
    System.out.println(++i+":"+c);   
   }   
   client.getState().addCookies(cookies);   
   post.releaseConnection();   
   GetMethod get = new GetMethod(newUrl);   
   get.setRequestHeader("Cookie", cookies.toString());   
   client.executeMethod(get);   
   String responseString = get.getResponseBodyAsString();   
   //登录后首页的内容      
   //System.out.println(responseString);   
   get.releaseConnection();   
//   System.out.println("******************************组件功能******************************");
//   System.out.println("******************************(1)进入首页******************************");   
//   String slave="http://www.renren.com/home";   
//   get = new GetMethod(slave);   
//   get.setRequestHeader("Cookie", cookies.toString());   
//   client.executeMethod(get);   
//   responseString = get.getResponseBodyAsString();   
//   System.out.println(responseString);   
//   get.releaseConnection();  
}   

}  

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多