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 $_\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 登录某网站的更多相关文章
- 使用Python登录Github网站
在下面的代码中, 展示了使用Python脚本登录Github的方法. 如果需要登录别的网站,那么请使用Chrome的Inspect的功能寻找到目标的object,对代码进行替换. 代码先登录了gith ...
- C# 从需要登录的网站上抓取数据
[转] C# 从需要登录的网站上抓取数据 背景:昨天一个学金融的同学让我帮她从一个网站上抓取数据,然后导出到excel,粗略看了下有1000+条记录,人工统计的话确实不可能.虽说不会,但作为一个学计算 ...
- python爬虫笔记之用cookie访问需要登录的网站
目标:用cookie访问一个需要登录的网站 如图,直接访问会跳转到登录页面,提示登录. 运行结果: 直接在浏览器上输入该url,网站立马跳转到登录页面. 方法: 1.先手动登录,通过抓包获取coo ...
- Java 爬虫遇到需要登录的网站,该怎么办?
这是 Java 网络爬虫系列博文的第二篇,在上一篇 Java 网络爬虫,就是这么的简单 中,我们简单的学习了一下如何利用 Java 进行网络爬虫.在这一篇中我们将简单的聊一聊在网络爬虫时,遇到需要登录 ...
- 看完48秒动画,让你不敢再登录HTTP网站(附完整示例代码)
在我的 单点登录SSO示例代码 一文中,强烈不建议部署HTTP的SSO服务站点. 在此写个基于网络包嗅探的HTTP会话劫持程序,给大家一个直观的危害性展示. 示例中,我在一台Mac上登录58同城,被另 ...
- 钉钉扫码登录web网站
钉钉扫码登录网站 前言 由于本公司前后台分离,这里主要讲述后台的实现逻辑与过程,前端相关的一略而过.前端我们采用的是把二维码内嵌到我们的网页中. 流程如下: 1.登录钉钉后台创建一个企业应用 2.根 ...
- python爬虫19 | 遇到需要的登录的网站怎么办?用这3招轻松搞定!
你好 由于你是游客 无法查看本文 请你登录再进 谢谢合作 当你在爬某些网站的时候 需要你登录才可以获取数据 咋整? 莫慌 小帅b把这几招传授给你 让你以后从容应对 那么 接下来就是 学习 python ...
- wget断点续传下载需要登录的网站上的大文件
1 举个例子 xcode 2 方法 wget --load-cookies=cookies.txt -c url -c是断点续传,如果网络断了,再运行该命令会接着最新的下载继续下载. --load- ...
- pyppeteer 登录一般网站 并利用 http方法获取登录页面的验证码
主函数 新建浏览器,进行登录,由于验证码的识别准确率不是百分之百,需要多次尝试. async def main(self, username, pwd, url): # 定义main协程函数, log ...
随机推荐
- class$1,class$2,class$innerclass中的$的含义
class文件名中的$的含义如下: $后面的类是$前面的类的内部类 内部类有以下两种情况: 1.普通的组合类形式,即在一个类内部定义一个普通的类 public class Outer { cla ...
- Hadoop分布式文件系统HDFS详解
Hadoop分布式文件系统即Hadoop Distributed FileSystem. 当数据集的大小超过一台独立的物理计算机的存储能力时,就有必要对它进行分区(Partition)并 ...
- 爬虫学习-使用CrawlSpider
使用scrapy中的CrawlSpider类来进行爬行 一直用的是BaseSpider,回调函数的方式,有一个问题是title,date在一个页面,author,detail在另一个页面时,怎么把这些 ...
- 百度全站变https
今天打开百度首页,突然发现,百度的网址变为 https://www.baidu.com/,如下图: 好嘛,以后再也不怕别人使用抓包工具查看我在百度的搜索数据了.当年的Duck Duck Go就是因为是 ...
- solr全文检索基本原理
场景:小时候我们都使用过新华字典,妈妈叫你翻开第38页,找到“坑爹”所在的位置,此时你会怎么查呢?毫无疑问,你的眼睛会从38页的第一个字开始从头至尾地扫描,直到找到“坑爹”二字为止.这种搜索方法叫做顺 ...
- (转)苹果消息推送服务器 php 证书生成
1.准备好 aps_developer_identity.cer , push.p12这两个证书文件 2. 生成证书如下: openssl x509 -in aps_developer_identit ...
- jquery easyui Tab 引入页面的问题
jQuery Easyui 的tabs插件有两种方式加载某个tab(标签页)上的内容:“href远程请求”和“content本地内容”,本文就两种方式的优缺点进行简单分析和思考. 两者特点: href ...
- [转]Android访问网络,使用HttpURLConnection还是HttpClient
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/12452307 最近在研究Volley框架的源码,发现它在HTTP请求的使用上比较有 ...
- ListView OnItemClickListener position 索引不正确
在使用ListView添加如下代码时 listview.setOnItemClickListener(new OnItemClickListener() { @Override public void ...
- mybatis一对多,多对一
假设两张表 person对order为一对多 实体类 person package com.kerwin.mybatis.pojo; import java.util.List; public cla ...