人人网登录地址:http://www.renren.com/

此处登录没有考虑验证码验证码。

首先对登录方法进行分析

有两种方法。

一)在Elements中分析源码

  发现登录点击后的事件是http://www.renren.com/PLogin.do

二)在Network中分析网络请求

请求链接:http://www.renren.com/ajaxLogin/login?1=1&uniqueTimestamp=2017110237292

表单数据 :

email 账号用户名icode 验证码,可为空origURL : http://www.renren.com/homedomain:renren.comkey_id:1 captcha_type:web_loginpassword: 密码,需要对输入的密码进行加密处理rkey: 密码处理 f: 未知

此处采取直接使用Elements发现的触发事件。
 1 package 人人网模拟登录;2 3 import org.apache.http.Header;4 import org.apache.http.NameValuePair;5 import org.apache.http.client.ResponseHandler;6 import org.apache.http.client.entity.UrlEncodedFormEntity;7 import org.apache.http.client.methods.CloseableHttpResponse; 8 import org.apache.http.client.methods.HttpGet; 9 import org.apache.http.client.methods.HttpPost; 10 import org.apache.http.impl.client.BasicResponseHandler; 11 import org.apache.http.impl.client.CloseableHttpClient; 12 import org.apache.http.impl.client.HttpClients; 13 import org.apache.http.message.BasicNameValuePair; 14 import java.util.ArrayList; 15 import java.util.List; 16 17 public class Renren { 18 public static void main(String[] args) throws Exception{ 19 CloseableHttpClient closeableHttpClient = HttpClients.createDefault() ; 20 HttpPost httpPost = new HttpPost("http://www.renren.com/PLogin.do") ; 21 22 String userName = " " ; // 账号写入 23 String passWord = " " ; // 密码写入 24 List<NameValuePair> dlbd = new ArrayList<NameValuePair>(); 25 // 登录表单设置 26 dlbd.add(new BasicNameValuePair("domain", "renren.com")); 27 dlbd.add(new BasicNameValuePair("isplogin", "true")); 28 dlbd.add(new BasicNameValuePair("submit", "登录")); 29 dlbd.add(new BasicNameValuePair("email", userName)); 30 dlbd.add(new BasicNameValuePair("password", passWord)); 31 httpPost.setEntity(new UrlEncodedFormEntity(dlbd)); 32 // Post请求 33 CloseableHttpResponse closeableHttpResponse = closeableHttpClient.execute(httpPost) ; 34 // 获取响应头 35 Header locationHeader = closeableHttpResponse.getFirstHeader("Location"); 36 // Get请求 37 String header = locationHeader.getValue(); 38 HttpGet httpGet = new HttpGet(header) ; 39 ResponseHandler<String> responseHandler = new BasicResponseHandler(); 40 String responseBody = closeableHttpClient.execute(httpGet, responseHandler); 41  System.out.println(responseBody); 42  } 43 }

登录成功

如果之前在网页登录失败次数过多,可能会导致爬虫模拟登录需要验证码,而此处是考虑不需要验证码的情况,所以可能会登录失败,解决方法可以是清理本机Cookie。

转载于:https://www.cnblogs.com/LexMoon/p/javaRen.html

Java爬虫——人人网模拟登录相关推荐

  1. Python爬虫--人人网模拟登录cookie(四)

    文章目录 模拟登录 一.人人网模拟登录 1.1 验证码识别 1.2 发送post请求 1.3 模拟登录cooki操作 1.4 cookie 1. 手动cookie处理 2. 自动处理 二.代理讲解 总 ...

  2. Python爬虫——Cookie模拟登录

    文章目录 Python爬虫--Cookie模拟登录 1.Cookie模拟登录 2.Handler处理器 Python爬虫--Cookie模拟登录 1.Cookie模拟登录 现在很多网站需要用户成功登录 ...

  3. python模拟登录网站_Python爬虫之模拟登录wechat

    不知何时,微信已经成为我们不可缺少的一部分了,我们的社交圈.关注的新闻或是公众号.还有个人信息或是隐私都被绑定在了一起.既然它这么重要,如果我们可以利用爬虫模拟登录,是不是就意味着我们可以获取这些信息 ...

  4. python爬虫分析模拟登录时会变的参数_Python爬虫之urllib模拟登录及cookie的那点事...

    在web  sprider crawl过程中,许多网站都需要登录后才能访问,一般如果我们不用爬虫框架的前提下,常规用的就两个库 ,urllib库和requests库,本文将用最基础的urllib库,以 ...

  5. node.js爬虫-校园网模拟登录

    爬虫的主要目的是将互联网上的网页下载到本地形成一个互联网内容的镜像备份.当我们将学号.密码及验证码提交后,浏览器首先通过与服务器进行连接,确认我们填的信息正确后,服务器会生成一个sessionId来表 ...

  6. Python3 网络爬虫:模拟登录淘宝,清空女朋友的购物车!

    前言 文字.图片.视频这类常规的内容下载.API 的使用,这些操作对你来说,应该轻而易举了. 那今天,就讲解一下高级一点的技能,「模拟登录」. 值此 618 之际,帮他/她清空一波购物车! 2 模拟登 ...

  7. 爬虫日记-模拟登录cookie操作

    模拟登录cookie操作 我们之前已经实现了模拟人人网登录,那么我们接下来是不是可以直接用requests模块获取登录成功的界面的内容? 于是我们就那这个url做了请求. 结果访问到的html依然是登 ...

  8. JAVA使用HttpClient模拟登录正方教务系统,爬取学籍信息和课程表成绩等,超详细登录分析和代码注解

    目录 前言 分析 代码实现 第一次GET POST登录 第二次Get 第三次GET 第四次GET 第五次GET 测试 完整代码 前言 最近在做一个APP,需要获取我们学校--武汉纺织大学皇家停水断电断 ...

  9. Python爬虫——简易模拟登录【以科文学院教务官网为例】

    实战:对科文教务系统进行拦截 科文学院教务系统内网地址:http://10.110.240.221/jsxsd/ 进入官网后再打开拦截. 输入一个错误的账号密码进行试探. 点击登陆按钮,进行拦截,可以 ...

最新文章

  1. linux内核那些事之mmap
  2. 函数式编程 -- 函子(Functor)
  3. MFC_Combo_Box_用法(下拉框)
  4. Java开发工程师的发展前景如何?
  5. asyu中datagrid load 与reload
  6. Julia: DataFrame最大的好处是对NA的处理和对象化操作!
  7. day 3 - 1 数据类型
  8. Layui-select 修复搜索之后上下键的bug
  9. centos7刷新dns
  10. nod32 破解的用户名密码
  11. 天池比赛实践——阿里云安全恶意程序检测(基于机器学习算法XGBoost)
  12. UE 简单存档读档功能
  13. imagemagick 图片合并
  14. Pycharm 编辑器文本中间出现有一条分割线
  15. java描述空间直线_java实验作业类的定义与描述
  16. vue项目打包后出现页面布局异常、图片显示不出来等问题
  17. latex 在线表格生成
  18. 关于Android Pie(Android 9.0)
  19. 如何查看自己加入过的微信群
  20. 刷机教程+android5,小米2刷机安卓5.1方法 小米2刷机android5.1教程详解

热门文章

  1. MYSQL加密解密 中文、数字 AES_ENCRYPT,AES_DECRYPT
  2. 程序员时事面试题——地震预测
  3. 人力资源数据分析 - case 分析拉钩数据分析师岗位
  4. 斯坦福神经调控疗法(Stanford Neuromodulation Therapy, SNT)
  5. 2019华为实习面经
  6. ubuntu docker dm_task_run failed error
  7. #5 最长回文子串(中等)
  8. LeetCode:390. 消除游戏————中等
  9. Java HTTP Host 头攻击原理以及如何防御
  10. Ubuntu 16.04 修改软件更新源地址