zoukankan      html  css  js  c++  java
  • perl 登录某网站

    <pre name="code" class="html">use Net::SMTP;
    use LWP::UserAgent;
    use HTTP::Cookies;
    use HTTP::Headers;
    use HTTP::Response;
    use Encode;
    use File::Temp qw/tempfile/;
    use HTTP::Date qw(time2iso str2time time2iso time2isoz);
    my $ua = LWP::UserAgent->new;
    $ua->timeout(5);
    my $cookie_jar = HTTP::Cookies->new(
                             file=>'ty_lwp_cookies.txt',
                             autosave=>1,
                             ignore_discard=>1
                                        );
    $ua->cookie_jar($cookie_jar);
    my $response = $ua->get('https://account.tingyun.com/cas/login?service=https%3A%2F%2Fsaas.tingyun.com%2Fj_acegi_cas_security_check%3FloginView%3DcasLoginTingyun');
    open DATAFH,">data.html" || die "open data file failed:$!";
    if ($response->is_success) {
     #print DATAFH  $response->decoded_content;  # or whatever
     print DATAFH  $response->content;  # or whatever
     }
    close DATAFH;
    
    use HTML::TreeBuilder::XPath;
    $tree= HTML::TreeBuilder::XPath->new;
    $tree->parse_file("data.html");
    my    @pages=$tree->find_by_tag_name('input');
                          #@urlall除了包含每个类别的文章,还包含阅读排行里的文章
         foreach (@pages) {
             @titlepage = $_->attr('value');
               foreach (@titlepage) {
                  chomp $_;
                   if ($_){ 
                      print "$_ is $_
    ";
                      $it_tag=$_;
                        };
                      };
     ##退出当前循环:   
                  last;
    };
    print "$it_tag is $it_tag
    ";
    sleep(2);
    my $login_url = 'https://account.tingyun.com/cas/login?service=https%3A%2F%2Fsaas.tingyun.com%2Fj_acegi_cas_security_check%3FloginView%3DcasLoginTingyun&lang=zh_CN';
    #my $login_url = 'https://account.tingyun.com/cas/login?service=https://saas.tingyun.com/j_acegi_cas_security_check?loginView=casLoginTingyun&lang=zh_CN';
    my $res = $ua->post($login_url,{
                              _eventId=>'submit',
                              lt=>"$it_tag",
                              password=>'76ede6846c35b6e1aec36ad4cf65a9e1',
                              username=>'server@quvideo.com'
                                   },
                     'User-Agent'=>'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:48.0) Gecko/20100101 Firefox/48.0',
                    'Host'=>'account.tingyun.com',
                    'Referer'=>"https://account.tingyun.com/cas/login?service=https%3A%2F%2Fsaas.tingyun.com%2Fj_acegi_cas_security_check%3FloginView%3DcasLoginTingyun",
                    'Upgrade-Insecure-Requests'=>1
                       );
                   print $res->status_line . "
    ";
                   print $res->as_string();#获取的是原始内容,包括响应头,响应正文
    
                 my $url='https://saas.tingyun.com/j_acegi_cas_security_check?loginView=casLoginTingyun';
                 my $response = $ua->get($url);
                 print "--------------------
    ";
    			 # 判断响应头里面的location,确定是否登陆成功   
                 print $res->header('Location');
                 print "
    ";
    
    jrhmpt01:/root# perl ty.pl 
    $_ is _cFD65326B-19A2-35BE-8DAC-BEC685FC65F1_kFFC533A8-238E-8CF2-9D73-8FF512527691
    $it_tag is _cFD65326B-19A2-35BE-8DAC-BEC685FC65F1_kFFC533A8-238E-8CF2-9D73-8FF512527691
    302 Found
    HTTP/1.1 302 Found
    Cache-Control: no-cache
    Cache-Control: no-store
    Connection: close
    Date: Thu, 22 Sep 2016 07:29:04 GMT
    Pragma: No-cache
    Location: https://saas.tingyun.com/j_acegi_cas_security_check?loginView=casLoginTingyun&ticket=ST-114612-1D4vn5gJHAgcD4jCDiLEXpeXrUbSDydQagr-account.tingyun.com
    Server: Tengine
    Content-Language: zh-CN
    Content-Length: 0
    Content-Type: text/html;charset=UTF-8
    Expires: Thu, 01 Jan 1970 00:00:00 GMT
    Access-Control-Allow-Headers: accept, content-type, classname
    Access-Control-Allow-Origin: *
    Client-Date: Thu, 22 Sep 2016 07:29:04 GMT
    Client-Peer: 123.103.75.4:443
    Client-Response-Num: 1
    Client-SSL-Cert-Issuer: /C=US/O=GeoTrust Inc./CN=GeoTrust SSL CA - G3
    Client-SSL-Cert-Subject: /C=CN/ST=beijing/L=beijing/O=xE5x8Cx97xE4xBAxACxE5x9FxBAxE8xB0x83xE7xBDx91xE7xBBx9CxE8x82xA1xE4xBBxBDxE6x9Cx89xE9x99x90xE5x85xACxE5x8FxB8/OU=IT dept./CN=*.tingyun.com
    Client-SSL-Cipher: ECDHE-RSA-AES256-SHA
    Client-SSL-Warning: Peer certificate not verified
    Set-Cookie: org.springframework.web.servlet.i18n.CookieLocaleResolver.LOCALE=zh_CN; Expires=Tue, 10-Oct-2084 10:43:11 GMT; Path=/
    Set-Cookie: CASPRIVACY=""; Domain=tingyun.com; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/cas
    Set-Cookie: CASTGC=TGT-57918-uCE2mcdi4YDaiVTEUHpLY2ZbRQj0vGPmGEF-account.tingyun.com; Domain=tingyun.com; Path=/cas
    
    --------------------
    https://saas.tingyun.com/j_acegi_cas_security_check?loginView=casLoginTingyun&ticket=ST-114612-1D4vn5gJHAgcD4jCDiLEXpeXrUbSDydQagr-account.tingyun.com
    <img src="http://img.blog.csdn.net/20160922154030372?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
    
    <img src="http://img.blog.csdn.net/20160922154040301?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
    
    <img src="http://img.blog.csdn.net/20160922154053403?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
    

    
       
    
    
  • 相关阅读:
    nginx uwsgi django
    ubuntu config proxy
    jdbc调用sparksql
    jdbc调用sparksql on yarn
    JDK错误
    JDK错误
    docker错误
    docker错误
    Django网站直接使用supervisor部署
    Django网站直接使用supervisor部署
  • 原文地址:https://www.cnblogs.com/zhaoyangjian724/p/6199177.html
Copyright © 2011-2022 走看看