perl6检测网站CMS脚本(测试代码)
代码如下:
use HTTP::UserAgent;
use JSON::Tiny; my $check-url = 'www.baidu.com';
#say @*ARGS[0];
#检测命令行参数
if @*ARGS != {
$check-url = @*ARGS[].lc;
}else{
say 'no http/https, eg:';
say 'cms-check.p6 www.target.com';
exit;
}
my $url = 'http://120.24.44.134/yunxi-web/public/home/index';
#say $check-url;
#cookies
my $cookie = HTTP::Cookies.new;
#创建 一个Ie
my $ua =HTTP::UserAgent.new;
$cookie.set-cookie('Set-Cookie:XSRF-TOKEN=eyJpdiI6ImQyNWhPQjVcL2YyeTEzTnFiaUZXbUJRPT0iLCJ2YWx1ZSI6ImMxTzM5SDVrQldJVmF0NVduTEhsSXZEd2xZV05lZ2VOM2NueXhYdjM3RkhHNm1md3ZPYkpkeUxvdVlwSzg2Rk5pMkFVcEhVWWdQYjJDVmhqeFdsaXlRPT0iLCJtYWMiOiJkODU1NjUzM2Q1NzgwN2RhYTBhZDI3MTdmYTZiNDFhNzYwMDg5MmFlZDA0MWUyNWEyNmZjYjZhNmE3MGIyMjZhIn0%3D;
laravel_session=eyJpdiI6ImFSeGFmSWZBTXZseTdvNDFLVFVxdEE9PSIsInZhbHVlIjoiWGl5TDFRcTZydWJjVzlleUxRM1N4RUlReUVQdDZVTnNZMjNXb0FtWDE3azFuTkFRSXVNYVNzMit3dWdJaDcxSk95T0VEcjBDZVFoY1lVR0NURnBwUEE9PSIsIm1hYyI6ImEwNjM3OGVjZGUzYTk4ODY4NzJhMjg0ZTAzZDYwMGYwYTU2YzhjYzZmMmJjNTZiMTdmMDIyMmJkNzc0NDI4NTgifQ%3D%3D');
#request
my $request = HTTP::Request.new;
$request.header.field(:X-Requested-With<XMLHttpRequest>);
$request.header.field(:Referer($url));
$request.add-cookies($cookie);
$request.set-method: 'POST';
$request.uri: $url;
#上面设置请求头信息与cookie与请求方法 my %postdata = :_token<ZgA9ggjV9AGGNEO2dfDdeanuLlLbYzjiBGxAnq6h>,:update<''>,:http<http%3A%2F%2F>,:url($check-url),:level<>;
$request.add-form-data(%postdata);
#设置POST参数, 这个POST数据中的HTTP键其实是可以设置是HTTP还是HTTPS的, 这里为了方便, 全部设置检测试URL为HTTP类型 my $result = $ua.request($request);
#发送请求
#say $result.request.Str;
#say $result.content;
my $json = from-json($result.content);
#将JSON转化为PERL结构代码
#say $json.perl;
#say $json[0].WHAT;
say 'URL: '~$check-url; #当查询到数据时,数组第一个参数会自动转为HASH型
if $json[].WHAT.perl ne 'Hash' {
say 'Unknown';
}else{
say 'CMS: '~$json[]<name>;
} #用法:
#cms-check.p6 / cms-check.p6 url
#不要http或https开头
使用前请安装好 perl6
再用zef安装好所用的模块:
zef install HTTP::UserAgent --force;
zef install JSON::Tiny --force;
效果如下:

一般来说, 查不到CMS或服务器系统信息, 就返回未知(Unknown)
有时没法转换JSON时会出错, 下次有时间再改版一下。
perl6检测网站CMS脚本(测试代码)的更多相关文章
- 人脸识别引擎SeetaFaceEngine中Detection模块使用的测试代码
人脸识别引擎SeetaFaceEngine中Detection模块用于人脸检测,以下是测试代码: int test_detection() { std::vector<std::string&g ...
- 360在线网站安全检测,web安全测试AppScan扫描工具,XSS常用的攻击手法
360在线网站安全检测,web安全测试AppScan扫描工具,XSS常用的攻击手法 如何做好网站的安全性测试 360网站安全检测 - 在线安全检测,网站漏洞修复,网站后门检测http://websca ...
- Dlib库中实现正脸人脸关键点(landmark)检测的测试代码
Dlib库中提供了正脸人脸关键点检测的接口,这里参考dlib/examples/face_landmark_detection_ex.cpp中的代码,通过调用Dlib中的接口,实现正脸人脸关键点检测的 ...
- Dlib库中实现正脸人脸检测的测试代码
Dlib库中提供了正脸人脸检测的接口,这里参考dlib/examples/face_detection_ex.cpp中的代码,通过调用Dlib中的接口,实现正脸人脸检测的测试代码,测试代码如下: #i ...
- Optimizely:在线网站A/B测试平台
Optimizely:在线网站A/B测试平台是一家提供 A/B 测试服务的公司.A/B 测试能够对比不同版本的设计,选取更吸引用户眼球的那一款,从而带来更为优化的个人体验.让网站所有者易于对不同版本的 ...
- perl 脚本测试
原文地址: http://blog.csdn.net/johnny710vip/article/details/8905239 这是一篇关于perl脚本测试的总结性文章,其中提到了很多实用的 ...
- [转] Optimizely:在线网站A/B测试平台
Optimizely:在线网站A/B测试平台是一家提供 A/B 测试服务的公司.A/B 测试能够对比不同版本的设计,选取更吸引用户眼球的那一款,从而带来更为优化的个人体验.让网站所有者易于对不同版本的 ...
- php 网站301重定向设置代码实战案例
php 网站301重定向设置代码实战案例 301重定向就是页面永久性移走的意思,搜索引擎知道这个页面是301重定向的话,就会把旧的地址替换成重定向之后的地址. 302重定向就是页面暂时性转移,搜索引擎 ...
- [置顶]
pycurl检测网站性能,pycurl.*_TIME时间问题
今天使用python+pycurl来检测网站性能,使用curl_obj.getinfo(pycurl.*_TIME)来获取各个阶段运行时间 total_time = curl_obj.getinfo( ...
随机推荐
- 解决Lenovo(ldeapad)笔记本F1-F12功能键操作无效的问题
1.操作条件:Lenovo笔记本自带的“一键恢复”按钮 2.操作方法:上下键为切换选项,回车键(Enter)为确定选择 (1)在笔记本电脑关机状态下,使用曲别针或其他物件按下笔记本自带的“一键恢复按钮 ...
- MySQL 分组排序问题
SQL好久不写了,有些生疏了,一个分组排序问题想了快半天,整理下. 学生表 CREATE TABLE `t_student` ( `id` bigint(20) NOT NULL AUTO_INCRE ...
- shell脚本如何获取当前时间
在shell脚本里常常需要获取系统时间来处理某项操作,linux的系统时间在shell里是可以直接调用系统变量的如: 获取今天时期:`date +%Y%m%d` 或 `date +%F` 或 $(da ...
- 第91天:CSS3 属性选择器、伪类选择器和伪元素选择器
一.属性选择器 其特点是通过属性来选择元素,具体有以下5种形式: 1.E[attr] 表示存在attr属性即可: div[class] 2.E[attr=val] 表示属性值完全等于val: ...
- BZOJ 1562 变换序列(二分图匹配)
显然每个位置只有两个情况,所以用二分图最大匹配来求解. 如果二分图有完全匹配,则有解. 关键是如何求最小的字典序解. 实际上用匈牙利算法从后面开始找增广路,并优先匹配字典序小的即可. # includ ...
- 关于在springmvc下使用@RequestBody报http status 415的错误解决办法
网上有很多原因,进行整理后主要有以下几类 springmvc添加配置.注解: pom.xml添加jackson包引用: Ajax请求时没有设置Content-Type为application/json ...
- 转:评估指标MAP
转:http://www.zhenv5.com/?p=1079 MAP可以由它的三个部分来理解:P,AP,MAP 先说P(Precision)精度,正确率.在信息检索领域用的比较多,和正确率一块出现的 ...
- 【转】Castle.ActiveRecord的嵌套事务处理
嵌套的情况下,怎么处理Castle.ActiveRecord的事务? 今天试了一下,原来还是很简单的,只需要使用Castle.ActiveRecord.TransactionMode.Inherits ...
- 9个基于Java的搜索引擎
1.Java 全文搜索引擎框架 Lucene 毫无疑问,Lucene是目前最受欢迎的Java全文搜索框架,准确地说,它是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎.Luc ...
- Codeforces 585D. Lizard Era: Beginning(meet in the middle)
一眼题...这个数据范围也太明显了吧... suma1==suma2 && sumb1==sumb2 && sumc1==sumc2 相当于suma1-sumb1==s ...