Java 模拟58登录(二) 实现

Java 模拟58登录 Java 模拟 58登录 (一) 分析 标签(空格分隔): Java 实习期间需要做一个模拟58登录然后爬取简历,第一次做项目遇到很多坑 同时网上关于58登录的又没有很多资料,遇到了很多坑,这里记录一下,方便自己以及他人学习 源代码放在Github 有关实现的分析,可以参考我的另一篇博客 Java 模拟58登录() 实现 前言 这里是通过手机动态码的方式来登录58... 阅读详情

Java 模拟58登录(二) 实现

标签(空格分隔): Java


实习期间需要做一个模拟58登录然后爬取简历,之前已经写了一篇分析,现在具体实现过程

有关过程的分析,可以参考我的另一篇博客 Java 模拟58登录(一) 分析

实现

流程

根据之前的分析可以得出58登录的大致流程如下

  • 发送Get请求(data?), 获取 token
  • 发送Get请求(getcode?), 请求发送手机验证码, 同时获得一个tokencode
  • 发送Get请求(login?), 输入手机号,动态码以及其他相关参数来发送登录请求
  • 登录成功

预处理

除了上述所说的步骤外,还有很多需要处理的底层实现细节,比如解析Cookie, 构造必须的参数

设置必须参数
  • FINGERPRINT 和FINGERPRINT2是网页登录的时候直接抓取的,我试过随机修改后面几个数字依旧可以登录
  • JQUERYSTR 只是jquery调用时候自动生成的参数,为了不出现什么问题我也加上了
  • initTime initTime表示页面加载时间,后面加密时候需要用到的时间戳这个参数,这里所有需要的时间戳都是(需要的时间戳时刻b-initTime+ const time 1411093327735L)
  • TOKENCODE 和 TOKEN 是调用的时候获取的参数
    private String FRONTEND_URL = "http://passport.58.com/frontend/data?";
    private String TOKENCODE_URL = "http://passport.58.com/mobile/getcode?";
    private String LOGIN_URL = "https://passport.58.com/mobile/pc/login?";
    private String FINGERPRINT = "421A592E9D98DC7C0711A36033A582E84360ED23C621CCE3_011";
    private String FIGNERPRINT2 = "zh-CN|24|1|4|1600_900|1600_860|-480|1|1|1|undefined|undefined|"
            + "unknown|Win64|unspecified|1|false|false|false|true|false|"
            + "0_true_true|d41d8cd98f00b204e9800998ecf8427F|b01de87fcefd32c68d348cd9d18b62d9";
    private String JQUERYSTR = "jQuery183025066063002634587_" + getNow();
    private long initTime = (new Date()).getTime();
    private String TOKENCODE = "";
    private String TOKEN = "";
解析Cookie

这里实际写的时候遇到了坑点, 最初底层实现Cookie是参考stackoverflow中的那种实现
但是如果Cookie value中含有”=”,解析就是失败,刚好58的session Cookie 中含有这个!!!我也是失败很多次才知道

    protected CookieStore cookieStore = new BasicCookieStore();

    public void setCookieStore(HttpResponse httpResponse) {

        Header[] headers = httpResponse.getHeaders("Set-Cookie");
        if (headers != null && headers.length > 0) {
        
SerDes系列之FFE均衡技术 FFE的基本结构可以在RX侧或TX侧实现,其基本工作原理相同:它通过从同一信号源应用适当的延迟来产生多径信号,然后对它们进行线性缩放和组合以消除信道ISI。 阅读详情

相关推荐

Sigrity OptimizePI Best Capacitor Location Estimation模式如何评估电容最佳位置操作指导

Sigrity OptimizePI Best Capacitor Location Estimation模式用于前仿真分析,评估电容的最佳位置以获得最小回路电感,如何分析,以下图为例进行说明。IC devices,输入U*, A*, B*, Q*, P*,将所有这些字母开头的器件都识别为IC。Min设置为1(最少电容个数为1),max设置为28(最多电容个数为28)Capacitors 输入C*,将所有C开头的器件都识别为电容。Grid X设置为8,Grid Y也设置为8。

weixin_54787054的博客 344

java 模拟登录(含验证码)

使用 tess4j 识别验证码,实现java post 登录网站,忘记了很久以前写的了,改了下积分大家可以免费下载

Java实现模拟登录及验证码处理实战

在当今数字化时代,网站和在线服务已经成为信息交换和日常活动不可或缺的一部分。随着用户数量的增加,自动化操作变得越来越普遍,尤其是在自动化测试、网络爬虫和数据抓取等领域。模拟登录作为一种基本技术,允许开发者模拟真实用户的行为,完成自动化任务。从获取敏感数据到验证网站功能,模拟登录在许多场景下发挥着核心作用。在自动化测试中,模拟登录能够帮助测试工程师验证用户认证流程的正确性以及登录后的用户界面行为。网络爬虫应用模拟登录进行数据抓取,可以获得受限内容或个性化数据。

weixin_31315007的博客 1615

模拟用户登录Java

提示用户输入账号密码,如果输入的是 账号和密码跟上面一致,就提示登录成功,如果输入账号或者密码不一致,就提示用户重新输入直到输入是正确的为止。模拟一下用户登录,假设用户已经注册好了一个账号: 账号是: 1622 , 密码 123456。

weixin_49285890的博客 1302

java模拟用户登录

模拟用户登录

m0_63112274的博客 1389

使用java模拟用户登录

您的密码默认为:biemowomaomao。您的账号默认为:林教头千万不要火并啊。

biemowomaomao的博客 842

Java模拟cookie登陆操作

方法是使用java模拟登陆,登陆后记录下cookie信息,在下次发起请求时时将cookie发送过去用以表明身份,这样就能够访问带有权限的URL了。思路即为:模拟登陆,取得cookie以记录身份,下次请求时发送cookie以表明身份。在使用java访问URL时,如果该URL需要身份验证,那么就不能够直接访问,因为没有登陆。* 最后,为了得到OutputStream,简单起见,把它约束在Writer并且放入POST信息中,例如: ...//发送cookie信息上去,以表明自己的身份,否则会被认为没有权限。

Andyfu2019的博客 1354

Java模拟用户登录

要求: (1) 用户名和密码正确,提示登录成功。 (2) 用户名或密码不正确,提示“用户名或密码错误”。 (3) 总共有 3 次登录机会,在 3 次内(不包含第一次)输入正确的用户名和密码回到(1)。如若,超过 3 次输入的用户名或密码有误,则提示登录失败无法再继续登录。。。 在登录时,需要比较用户输入的用户名密码与已知的用户名密码是否相同,本案例可以使用 Scanner 类以及 String 类的相关方法实现比较操作。...............

qq_59506101的博客 3693

java 模拟登录58同城_Java 模拟58登录() 实现

实现流程根据之前的分析可以得出58登录的大致流程如下发送Get请求(data?), 获取 token发送Get请求(getcode?), 请求发送手机验证码, 同时获得一个tokencode发送Get请求(login?), 输入手机号,动态码以及其他相关参数来发送登录请求登录成功预处理除了上述所说的步骤外,还有很多需要处理的底层实现细节,比如解析Cookie, 构造必须的参数设置必须参数FINGE...

weixin_27875131的博客 762

58同城自动登录

http://topic.csdn.net/u/20110904/14/8a1ba2c6-7211-4412-aafa-9de4e5982ab9.html看到有人发了个帖子 问58同城登录的问题,我闲的无聊就去58上抓了下包看了下,主要就是p1和p2这两个参数,而两个参数是密码加密后的 结果,去看它的js是怎么加密的,可是它的js是经过压缩过的,只有一行代码,很难找到那个加密的方法,然后我就把它

rdhj5566的专栏 2101

Java爬虫-模拟淘宝登录

已失效!1 package demo2; 2 3 import org.openqa.selenium.By; 4 import org.openqa.selenium.WebElement; 5 import org.openqa.selenium.firefox.FirefoxDriver; 6 import org.openqa.selenium.firefox....

weixin_30569001的博客 1268

58同城自动登录。。分享给大家

http://bbs.csdn.net/topics/370182775 http://topic.csdn.net/u/20110904/14/8a1ba2c6-7211-4412-aafa-9de4e5982ab9.html看到有人发了个帖子问58同城登录的问题,我闲的无聊就去58上抓了下包看了下,主要就是p1和p2这两个参数,而两个参数是密码加密后的结果,去看它的js是怎么加密的,可是它...

weixin_30950237的博客 534

java 模拟登录 session_java2: HttpClient,实现登录,请求等操作,session保持

// 这里是为了获取页面上的hidden,用来提交的时候继续使用hidden=ParseTest.testTest(responseBody);System.out.println(csrfToken);System.out.println("Time now:"+newDate().toString());System.out.println("---------------3-post off...

weixin_35063099的博客 484

java 12306 模拟登陆_请教java尝试模拟登录12306时遇到的一个问题

展开全部首先12306网站前32313133353236313431303231363533e78988e69d8331333363386133缀为“https://” 表明是用SSL加密。用HttpClient去模拟发送请求时,对于URL用为“https”时,先要解决证书问题,有两种解决方案:在查找相关资料时,对于这种方法有点麻烦,最后就没有去尝试,有兴趣的朋友可以试试扩展HttpClient ...

weixin_32869687的博客 370

java 爬虫 登陆_Java爬虫模拟登录——不给我毛概的H某大学

你的账号访问太频繁,请一分钟之后再试!从大一开始就用脚本在刷课在专业课踢的只剩下一门C#的情况下活活刷到一周的课大开始教务系统多了一个非常**的操作退课池 and 访问频繁缓冲难道,我大三下还要去学政治课咩?虽然学政治不如敲代码但我想毕业啊emmmmmm在量子力学的角度,没有抢上毛概的我只是我本体的一个属性,和我本身没有多大关系,我还是快乐敲代码吧。0.教务系统后台登录流程先来看一下后台账号密码...

weixin_28675839的博客 369

java模拟登陆系统_Java模拟登录系统抓取内容【转载】

1 @Component2 public class Login extendsBaseJobs {34 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");5 /**6 * 获取当月第一天7 *8 *@return9 */10 publicString getFirstDayOfMonth() {...

weixin_33739574的博客 276

java案例:模拟用户登录

再创建一个UserTest类。先创建第一个User类。

aichixuanmai的博客 899

java实现模拟用户登录功能

java实现模拟用户登录 功能描述 运用String类与Scanner类实现模拟用户登录基础功能,简单的登录验证模拟程序。 本案例要求编写一个程序,模拟用户登录,程序要求如下。 (1)用户名和密码正确,提示登录成功。 (2)用户名或密码不正确,提示“用户名或密码错误”。 (3)总共有3次登录机会,在3次内(包含3次)输入正确的用户名和密码后给出登录成功的相应提示。 超过3次用户名或密码输人误,则提示登录失败,无法继续登录。 在登录时,需要比较用户输入的用户名、密码与已知的用户名、密码是否相同,本案例可以使用

国际巨星的博客 1万+

Java-模拟用户登录

Java实验题目:模拟用户登录 编写一个程序,模拟用户登录

m0_66019257的博客 1115

地理探测器的软件安装包

地理探测器软件安装包,可以直接下载安装使用,亲测可用。地理探测器包括分异及因子探测、交互探测、生态探测、风险探测4个探测器。分异及因子探测:探测Y的空间分异性;以及探测某因子X多大程度上解释了属性Y的空间分异,用q值度量。交互作用探测:识别不同风险因子Xs之间的交互作用,即评估因子X1和X2共同作用时是否会增加或减弱对因变量 Y 的解释力,或这些因子对 Y 的影响是相互独立的。风险区探测:用于判断两个子区域间的属性均值是否有显著的差别,用t统计量来检验。生态探测:用于比较两因子X1和X2对属性Y的空间分布的影响是否有显著的差异,以F统计量来衡量。

上一篇: 单元测试 笔记
下一篇: 单元测试与Spring框架
Vanguard-xf
博客等级 码龄12年 40粉丝 64原创
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值