<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 $_\n";
$it_tag=$_;
};
};
##退出当前循环:
last;
};
print "\$it_tag is $it_tag\n";
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 . "\n";
print $res->as_string();#获取的是原始内容,包括响应头,响应正文 my $url='https://saas.tingyun.com/j_acegi_cas_security_check?loginView=casLoginTingyun';
my $response = $ua->get($url);
print "--------------------\n";
# 判断响应头里面的location,确定是否登陆成功
print $res->header('Location');
print "\n"; 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=\xE5\x8C\x97\xE4\xBA\xAC\xE5\x9F\xBA\xE8\xB0\x83\xE7\xBD\x91\xE7\xBB\x9C\xE8\x82\xA1\xE4\xBB\xBD\xE6\x9C\x89\xE9\x99\x90\xE5\x85\xAC\xE5\x8F\xB8/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="" />
												

perl 登录某网站的更多相关文章

  1. 使用Python登录Github网站

    在下面的代码中, 展示了使用Python脚本登录Github的方法. 如果需要登录别的网站,那么请使用Chrome的Inspect的功能寻找到目标的object,对代码进行替换. 代码先登录了gith ...

  2. C# 从需要登录的网站上抓取数据

    [转] C# 从需要登录的网站上抓取数据 背景:昨天一个学金融的同学让我帮她从一个网站上抓取数据,然后导出到excel,粗略看了下有1000+条记录,人工统计的话确实不可能.虽说不会,但作为一个学计算 ...

  3. python爬虫笔记之用cookie访问需要登录的网站

     目标:用cookie访问一个需要登录的网站 如图,直接访问会跳转到登录页面,提示登录. 运行结果: 直接在浏览器上输入该url,网站立马跳转到登录页面.  方法: 1.先手动登录,通过抓包获取coo ...

  4. Java 爬虫遇到需要登录的网站,该怎么办?

    这是 Java 网络爬虫系列博文的第二篇,在上一篇 Java 网络爬虫,就是这么的简单 中,我们简单的学习了一下如何利用 Java 进行网络爬虫.在这一篇中我们将简单的聊一聊在网络爬虫时,遇到需要登录 ...

  5. 看完48秒动画,让你不敢再登录HTTP网站(附完整示例代码)

    在我的 单点登录SSO示例代码 一文中,强烈不建议部署HTTP的SSO服务站点. 在此写个基于网络包嗅探的HTTP会话劫持程序,给大家一个直观的危害性展示. 示例中,我在一台Mac上登录58同城,被另 ...

  6. 钉钉扫码登录web网站

    钉钉扫码登录网站 前言  由于本公司前后台分离,这里主要讲述后台的实现逻辑与过程,前端相关的一略而过.前端我们采用的是把二维码内嵌到我们的网页中. 流程如下: 1.登录钉钉后台创建一个企业应用 2.根 ...

  7. python爬虫19 | 遇到需要的登录的网站怎么办?用这3招轻松搞定!

    你好 由于你是游客 无法查看本文 请你登录再进 谢谢合作 当你在爬某些网站的时候 需要你登录才可以获取数据 咋整? 莫慌 小帅b把这几招传授给你 让你以后从容应对 那么 接下来就是 学习 python ...

  8. wget断点续传下载需要登录的网站上的大文件

    1 举个例子 xcode 2 方法 wget --load-cookies=cookies.txt  -c url -c是断点续传,如果网络断了,再运行该命令会接着最新的下载继续下载. --load- ...

  9. pyppeteer 登录一般网站 并利用 http方法获取登录页面的验证码

    主函数 新建浏览器,进行登录,由于验证码的识别准确率不是百分之百,需要多次尝试. async def main(self, username, pwd, url): # 定义main协程函数, log ...

随机推荐

  1. 算法:求 Huffuman树 构造费用

    问题背景:            Huffman树在编码中有着广泛的应用.在这里,我们只关心Huffman树的构造过程.            给出一列数{pi}={p0, p1, …, pn-1}, ...

  2. USACO6.4-Wisconsin Squares:搜索

    Wisconsin Squares It's spring in Wisconsin and time to move the yearling calves to the yearling past ...

  3. windows 删除服务命令

    在dos窗口下执行 sc delete  服务名( 例如 mysql) C:\Program Files\MySQL\MySQL Server 5.6\

  4. Oracle 表分析

    ANALYZE TABLE SeikyuTbl COMPUTE Statistics FOR TABLE FOR ALL COLUMNS FOR ALL INDEXES ; 一.优化器的优化方式 Or ...

  5. 最牛逼的的shell命令

    参考 远程diff [root@jiangyi01.sqa.zmf /home/ahao.mah/ALIOS_QA/tools/iperf] #ssh ahao.mah@dnstest02.tbc c ...

  6. Server Job: error: String or binary data would be truncated. The statement has been terminated.

    "String or binary data would be truncated. The statement has been terminated" most probabl ...

  7. SMO(Sequential Minimal Optimization) 伪代码(注释)

    Algorithm: Simplified SMO 这个版本是简化版的,并没有采用启发式选择,但是比较容易理解. 输入: C: 调和系数 tol: 容差 (tolerance) max passes: ...

  8. igmpproxy源码学习——igmpProxyInit()

    igmpproxy源码学习--igmpProxyInit()函数具体解释.igmpproxy初始化 在执行igmpproxy的主程序igmpproxyRun()之前须要对igmpproxy进行一些配置 ...

  9. Redmine backlogs 升级

    刚装完1.0.3两天,1.0.4发布了,乘项目还没有开始,赶快升级.升级过程 1.设置环境变量: RAILS_ENV=production export RAILS_ENV 2. 获取最新代码: cd ...

  10. C#学习笔记之结构体

    1.概述 结构是一种与类相似的数据类型,不过它较类更为轻量,一般适用于表示类似Point.Rectangle.Color的对象.基本上结构能办到的类全都能办到,但在某些情况下使用结构更为合适,后面会有 ...