`

HttpClient登录人人网

    博客分类:
  • Java
阅读更多


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();   
}   

}  

 

转自:http://blog.csdn.net/yodlove/archive/2010/10/13/5938022.aspx

分享到:
评论

相关推荐

    httpclient4.3登陆人人

    在描述中提到,“最新版httpclient自动登录人人代码”意味着这个压缩包包含了一个使用HttpClient实现的人人网登录程序。这个程序可能包含了设置用户名和密码,发送POST请求到人人网登录接口,以及解析和验证登录结果...

    用HttpClient写的导出人人网日志的程序

    通常,作者会在博客中讨论如何配置HttpClient,设置请求头,处理登录和授权,以及如何抓取和解析网页内容,特别是人人网的日志数据。 标签 "源码" 暗示我们可以期待在压缩包中找到一个可读的Java代码文件,可能是...

    JAVA 人人网登陆实例代码(基于Apache httpclient 4.2.X)

    基于apache httpclient 4.2.X开发 自动处理redirect url jsoup解析response text log4j 自动生成日志 源代码基于UTF-8编码,如果出现乱码请切换到此编码 压缩包 包含所有jar文件。

    java 模拟登陆人人网

    在本文中,我们将深入探讨如何使用Java进行网页模拟登录,以人人网为例。模拟登录是一项常见的网络编程任务,常用于自动化测试、数据抓取或数据分析等场景。在Java中,我们可以利用HTTP客户端库如HttpURLConnection...

    c# 人人网API SDK(2011-05-17)

    在C#环境中,开发者需要了解.NET Framework或.NET Core的使用,以及XMLHttpRequest或HttpClient类进行HTTP请求,理解JSON或XML数据解析,以便与人人网API进行数据交互。此外,对于OAuth认证机制的理解也是必不可少的...

    简单的人人网客户端源码.zip

    对于人人网客户端,可能使用了OAuth2.0授权协议,用户登录时获取访问令牌,然后使用令牌进行API调用,获取和发送数据。此外,考虑到网络状态的变化,还需要实现网络监听和错误处理机制。 三、源码结构分析 1. ...

    人人网高校信息库(json格式)

    我们观察其他网站,比如renren.com网,它的高校信息就比较齐全,查看了相关代码后,发现,renren.com将所有高校信息封装为了一个js的json格式的数据,所以非常方便我们直接拿过来用。我们既可以使用HttpClient来爬取...

    抓取网上信息,抓取人人网院校

    标题中的“抓取网上信息,抓取人人网院校”指的是网络爬虫技术,特别是针对人人网院校信息的抓取。网络爬虫是一种自动化程序,它按照一定的规则在互联网上遍历网页,抓取所需的数据。在这个场景中,可能是为了获取...

    人人网小小战争辅助工具分析

    4. **httpclient-4.0.3.jar、httpcore-4.0.1.jar**:Apache HttpClient和HttpCore库,是用于执行HTTP请求的重要组件,很可能在辅助工具与人人网服务器交互时发挥作用,比如发送游戏状态更新、获取游戏资源等。...

    java实现模拟登录网站最全的资料

    7. **论坛资源**:`ITeye论坛.mht`文件可能包含了关于HttpClient的使用讨论,如`HTTPClient模拟登陆人人网`,这通常提供了实际项目中的示例和遇到的问题解决方案。 8. **MHT文件**:MHT是一种单一文件的网页存档...

    [安卓源码]高仿人人网客户端.zip项目安卓应用源码下载

    这篇内容将深入探讨基于Java和Apache技术栈的安卓应用源码,以高仿人人网客户端为例,适用于学生毕业设计、个人学习和公司项目的技术参考。源码下载后,我们可以从中获取丰富的知识,理解Android应用开发的核心原理...

    第三方登录 .net

    1. **人人网登录**: - 注册开发者账号:首先,你需要在人人网开放平台注册成为开发者,并创建应用获取App Key和App Secret。 - 配置回调URL:设置你的应用的回调地址,用于接收授权后的code。 - 获取Access ...

    人人相册下载器 C#版

    【人人相册下载器 C#版】是一款专为下载人人网相册而设计的应用程序,由开发者自行编写,旨在提供一个免费的解决方案,用于获取并保存个人或他人在人人网分享的相册图片。该软件可能特别适用于那些喜欢摄影、需要...

    java网络爬虫模拟登入抓取数据

    在许多情况下,特别是涉及到登录后才能访问的内容,如人人网这样的社交平台,我们不能简单地通过HTTP请求获取数据,因为这些页面需要用户身份验证。这就需要用到模拟登录的技术。 模拟登录的核心在于复现用户在...

    校内网自动登录发帖程序源码

    这个程序的目的是实现对"校内网"(可能是早期的社交网络平台,如人人网)的自动登录和发帖功能,这在实际应用中常见于自动化测试、数据分析或者个人兴趣项目。 【描述】提到的"校内网自动发帖程序,用C#做的",表明...

    引导界面仿人人网.zip安卓程序源码资源下载

    该资源包"引导界面仿人人网.zip"是一个针对安卓平台的程序源码,主要用于学习和研究,特别是对于学生进行毕业设计、程序员提升技能以及新手自学非常有帮助。它包含了一个引导界面,这种界面通常在应用启动时展示,...

    SNS开发指南.pdf

    文档中提及的几个平台,例如新浪微博、腾讯微博、人人网和 WhaleCloud 都是需要这些密钥来确保应用与相应的SNS平台之间的通信安全。 在集成UMeng Android SDK到Android项目时,需要在Eclipse中将UMeng-Android-SDK-...

    asp.net C#网络编程综合资料(带7个例子)

    【描述】虽然描述部分的文字“阿斯顿法身佛人确认其为人温热wrwqeqe人人人情味儿”看似与主题无关,可能是输入错误或者无意义的字符组合,但我们可以从中推断,这个资料集可能是由一位经验丰富的开发者或教师分享的...

    Android应用源码之renren-IT计算机-毕业设计.zip

    1. **需求分析**:"renren"项目可能模拟了人人网的部分功能,如社交网络的登录、发帖、评论等,分析这些功能的实现有助于理解实际需求转化为代码的过程。 2. **模块划分**:学习如何将大问题分解为多个小模块,并...

Global site tag (gtag.js) - Google Analytics