zoukankan      html  css  js  c++  java
  • 网站自动登录实现刷在线时间

    不知道大家有没这样的经验,有些网站下载东西需要积分,而在线时间可以积累积分,但是网页15分钟就会超时,你需要一直开着浏览器并刷新,要是有个脚本一直在后台跑着就好了,24小时在线,这就是我要写的内容:

    • 仿照登录界面做了个伪表单界面,提交,成功登录,密码不加密(危险啊),看来很简单。(登录多次失败才会要求验证码)。
    • 使用Perl LWP写了个提交脚本:
    #!/usr/bin/perl
    
    use strict;
    use warnings;
    use Encode;
    use Net::INET6Glue::INET_is_INET6;
    use LWP;
    use LWP::Simple;
    use HTTP::Cookies;
    use HTTP::Response;
    use HTTP::Request;
    
    # 这里的网站是IPV6地址,访问网站主页没问题,但是访问下面的页面时会报HTTP 500错误
    # 所以上面引入了Net::INET6Glue::INET_is_INET6,使用ipv6访问
    my $url = "http://网站地址/logging.php?action=login";
    my $name = "username";
    my %form = (
             "username" => $name,
            "password" => "password",
            # 分析伪表单的抓包数据后发现,表单会自动加上下面的参数,所以加上下面的
             # 如果不加总是登录不上去,返回的网页是重新登录界面
            "loginsubmit" => "true"
            );
    
    my  $browser = LWP::UserAgent->new;
    
    my  $response = $browser->post($url,\%form);
    if ($response->is_success) {
        print encode("GBK", $response->decoded_content); 
        print "\n";
    }
    else {
        print $response->decoded_content;
        die $response->status_line;
    }

    最初测试脚本时是在服务器上测试的,总是Http 500 错误,在Google上搜索发现需要引入INET_is_INET6,不报500错误了,但是返回的界面是重新登录界面。只好抓个包分析一下,发现使用ethereal抓包时,混杂模式启动不了,抓不了其他主机的包,只好在自己机器上安装Perl 来测试。
    于是下载ActivePerl,但是在安装模块时出现问题, ,又换成Strawberry Perl,安装INET_is_INET6时同样出错,查看了下是一个依赖包Socket6安装不上,找不到inet_ntop 和inet_pton,又去查资料,发现是个bug,解决方法如下:

    单独下载Socket6的包,解包,修改Socket6.xs,代码前添加如下内容:

    #define HAVE_INET_PTON 1
    
    #ifdef __MINGW32__
    #include "inet_ntop.c"
    #include "inet_pton.c"
    #endif
    
    #ifndef HAVE_PL_SV_UNDEF
    #define PL_sv_undef sv_undef
    #endif

    然后手动安装:

    $ dmake
    $ dmake test
    $ dmake install

    再次安装INET_is_INET6搞定,运行,抓包,发现脚本提交表单时没有loginsubmit=true参数,修改,运行,成功。

    • 最后写个shell脚本,循环登录:
    #!/bin/sh
    
    for i in `seq 1000000`
    do
            ./autologin.pl > log.htm 2>&1
            sleep 10m
    done

    搞了一上午,遇到了很多问题,各种没遇到过的错误,然后一一解决,写起来却轻松多了。但是能解决实际问题,用所学习的东西来实现自己的想法,这种感觉真爽。哈哈,记下了,希望遇到同样问题的可以参考。

  • 相关阅读:
    pytorch_模型参数-保存,加载,打印
    pytorch——auto-encoders
    tensor 中mul_,add_解读
    pytorch_13_pytorch 中tensor,numpy,PIL的转换
    Image-transpose
    torch_13_自定义数据集实战
    html5shiv.js让吃屎的IE6、IE7、IE8支持html5去吧
    jquery.placeholder.min.js让吃屎的IE浏览器支持placeholder去吧
    jQuery页面滚动图片等元素动态加载实现
    移动端页面应该使用什么字体?
  • 原文地址:https://www.cnblogs.com/D3Hunter/p/2562815.html
Copyright © 2011-2022 走看看