Java丨jsoup网络爬虫模拟登录思路解析
直奔主题:
本篇文章是给有jsoup抓包基础的人看的......
今天小编给大家写一篇对于jsoup抓包时需要输入验证码的解决方法之一。大神就绕道,嘿嘿~
任何抓包的基础都是基于Http协议来进行这个抓包行为的,那么,在我们遇到验证码的时候怎么办呢?别着急,继续看
遇到需要验证码的这种情况怎么办:
例如我们要访问www.xxxxx.com这个网站需要你输入验证码,步骤如下:
1)首先我们二话不说,先访问一下www.xxxxx.com这个网址,目的是什么?
a.获取到cookies
b.为我们下一步获取验证码做好准备
c.利用jsoup对www.xxxxx.com的第一次访问获取到的cookie来进行我们第二次的访问。
2)我们第一次访问完毕后进行第二次访问要做些什么呢?
a.利用jsoup带着cookie去访问www.xxxxx.com/img/verifyCode.gif这个地址获取验证码
b.将获取到的验证码存入到本地(一般获取到的是二进制形式的)
c.利用jsoup带着cookie到www.xxxxx.com/img/verifyCode.gif获取到的验证码我们是不是可以登录了呢?
3)第三次访问我们带入帐号+密码+验证码去登录 重要的是不要把cookie忘带了
a.第三次访问www.xxxx.com/login.html?username=haojieli&password=123456&verifyCode=1234 在后面跟上cookie的值
解析:
重点是cookie ,cookie是会话的首要条件,cookie就相当于你要打电话,你输入的电话要和对方的电话号码对得上才能通上话,所以后面获取验证码和登录都必须带上cookie,这是你访问对方服务器的时候识别你的标准。
反之:你到服务器获取验证码时候的cookie为123456789 ,而你登录的时候的cookie是888888888 ,你打的电话都不是同一个电话 ,接电话的肯定不是同一个人,所以,访问的时候注意保持cookie的一致!
博文到此结束,感谢您的观看,希望对各位读者有所帮助,如果有什么意见以及建议请在评论留言......
======祝各位读者生活愉快======
Java丨jsoup网络爬虫模拟登录思路解析的更多相关文章
- Java通过httpclient获取cookie模拟登录
package Step1; import org.apache.commons.httpclient.Cookie; import org.apache.commons.httpclient.Htt ...
- Java豆瓣电影爬虫——模拟登录的前世今生与验证码的爱恨情仇
前言 并不是所有的网站都能够敞开心扉让你看个透彻,它们总要给你出些难题让你觉得有些东西是来之不易的,往往,这也更加激发你的激情和斗志! 从<为了媳妇的一张号,我与百度医生杠上了>里就有网友 ...
- Java爬虫模拟登录——不给我毛概二的H某大学
你的账号访问太频繁,请一分钟之后再试! 从大一开始 就用脚本在刷课 在专业课踢的只剩下一门C#的情况下 活活刷到一周的课 大二开始教务系统多了一个非常**的操作 退课池 and 访问频繁缓冲 难道,我 ...
- Java爬虫——模拟登录知乎
登录界面,首先随意输入一个账号,登录查看发送表单的请求 可以发现请求是Post : https://www.zhihu.com/login/phone_num 发送的表单是 _xsrf: passwo ...
- Java开发、网络爬虫、自然语言处理、数据挖掘简介
一.java开发 (1) 应用开发,即Java SE开发,不属于java的优势所在,所以市场占有率很低,前途也不被看好. (2) web开发,即Java Web开发,主要是基于自有或第三方成熟框架的系 ...
- java 之webmagic 网络爬虫
webmagic简介: WebMagic是一个简单灵活的Java爬虫框架.你可以快速开发出一个高效.易维护的爬虫. http://webmagic.io/ 准备工作: Maven依赖(我这里用的Mav ...
- Apache Nutch v2.3 发布,Java实现的网络爬虫
http://www.oschina.net/news/59287/apache-nutch-2-3 Apache Nutch v2.3已经发布了,建议所有使用2.X系列的用户和开发人员升级到这个版本 ...
- Java SE之网络爬虫①
一 需求描述 给一个url,将该url对应网页内的所有的链接查找出来,并补充完整为绝对路径 简易版 /** * * @author Zen Johnny * @date 2018年4月29日 下午11 ...
- Python爬虫模拟登录带验证码网站
问题分析: 1.爬取网站时经常会遇到需要登录的问题,这是就需要用到模拟登录的相关方法.python提供了强大的url库,想做到这个并不难.这里以登录学校教务系统为例,做一个简单的例子. 2.首先得明白 ...
随机推荐
- php 生成下载连接
public function showdownload(){ $file_url=$_GET['url']; $new_name='激活码'; if(!isset($file_url)||trim( ...
- Android中经常使用的工具类02
1.读取手机联系人信息 一般用在读取手机通讯录上传,这一块比較多. import java.util.ArrayList; import java.util.List; import android. ...
- 软件测试人员需要精通的开发语言(2)--- SQL
简单的入门语言vbs,通过实例的练习以及简单的应用,基本可以掌握vbs脚本的使用.如果说vbs只是为了实际测试中开发脚本,便捷测试的目的.那SQL语言就是测试人员的必备技能了,任何系统都会用到数据库, ...
- ACboy needs your help(简单DP)
HDU 1712 Problem Description ACboy has N courses this term, and he plans to spend at most M days on ...
- ural 1303 Minimal Coverage【贪心】
链接: http://acm.timus.ru/problem.aspx?space=1&num=1303 http://acm.hust.edu.cn/vjudge/contest/view ...
- UnicodeEncodeError: 'latin-1' codec can't encode characters in position 0-3: ordinal not in range(256)
今天使用MySQLdb往MySQL插入中文数据遇到一个异常: UnicodeEncodeError: 'latin-1' codec can't encode characters in positi ...
- Zabbix-Agent 客户端安装配置
1.安装Zabbix官方的yum源 [root@crazy-acong ~]# rpm -ivh http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zab ...
- 我的Android进阶之旅------>Android疯狂连连看游戏的实现之加载界面图片和实现游戏Activity(四)
正如在<我的Android进阶之旅------>Android疯狂连连看游戏的实现之状态数据模型(三)>一文中看到的,在AbstractBoard的代码中,当程序需要创建N个Piec ...
- linux c编程:进程控制(一)
一个进程,包括代码.数据和分配给进程的资源.fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程, 也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同 ...
- 使用 Node.js 对文本内容分词和关键词抽取
npm install nodejieba var nodejieba = require("nodejieba"); var result = nodejieba.cut(&qu ...