一个非常实用的带验证码的模拟登陆实例
来源:互联网 发布:dsp竞价算法 编辑:程序博客网 时间:2024/05/02 01:19
01
/**
02
* 模拟登录
03
* Design by maben
04
* www.maben.com.cn
05
*/
06
07
//初始化变量
08
$cookie_file
=
"tmp.cookie"
;
09
$login_url
=
"http://xxx.com/logon.php"
;
10
$verify_code_url
=
"http://xxx.com/verifyCode.php"
;
11
12
echo
"正在获取COOKIE...\n"
;
13
$curlj
= curl_init();
14
$timeout
= 5;
15
curl_setopt(
$curl
, CURLOPT_URL,
$login_url
);
16
curl_setopt(
$curl
, CURLOPT_RETURNTRANSFER, 1);
17
curl_setopt(
$curl
, CURLOPT_CONNECTTIMEOUT,
$timeout
);
18
curl_setopt(
$curl
,CURLOPT_COOKIEJAR,
$cookie_file
);
//获取COOKIE并存储
19
$contents
= curl_exec(
$curl
);
20
curl_close(
$curl
);
21
22
echo
"COOKIE获取完成,正在取验证码...\n"
;
23
//取出验证码
24
$curl
= curl_init();
25
curl_setopt(
$curl
, CURLOPT_URL,
$verify_code_url
);
26
curl_setopt(
$curl
, CURLOPT_COOKIEFILE,
$cookie_file
);
27
curl_setopt(
$curl
, CURLOPT_HEADER, 0);
28
curl_setopt(
$curl
, CURLOPT_RETURNTRANSFER, 1);
29
$img
= curl_exec(
$curl
);
30
curl_close(
$curl
);
31
32
$fp
=
fopen
(
"verifyCode.jpg"
,
"w"
);
33
fwrite(
$fp
,
$img
);
34
fclose(
$fp
);
35
echo
"验证码取出完成,正在休眠,20秒内请把验证码填入code.txt并保存\n"
;
36
//停止运行20秒
37
sleep(20);
38
39
echo
"休眠完成,开始取验证码...\n"
;
40
$code
=
file_get_contents
(
"code.txt"
);
41
echo
"验证码成功取出:$code\n"
;
42
echo
"正在准备模拟登录...\n"
;
43
44
$post
=
"username=maben&pwd=hahahaha&verifycode=$code"
;
45
$curl
= curl_init();
46
curl_setopt(
$curl
, CURLOPT_URL,
$url
);
47
curl_setopt(
$curl
, CURLOPT_HEADER, false);
48
curl_setopt(
$curl
, CURLOPT_RETURNTRANSFER,1);
49
curl_setopt(
$curl
, CURLOPT_POSTFIELDS,
$post
);
50
curl_setopt(
$curl
, CURLOPT_COOKIEFILE,
$cookie_file
);
51
$result
=curl_exec(
$curl
);
52
curl_close(
$curl
);
53
54
//这一块根据自己抓包获取到的网站上的数据来做判断
55
if
(substr_count(
$result
,
"登录成功"
)){
56
echo
"登录成功\n"
;
57
}
else
{
58
echo
"登录失败\n"
;
59
exit
;
60
}
61
62
//啦啦啦,开始做你想做的事吧。。。。。
0 0
- 一个非常实用的带验证码的模拟登陆实例
- 一个非常实用的带验证码的模拟登陆实例
- Android模拟登陆带验证码的网站客户端
- android 模拟浏览器登陆带验证码的网站
- Android模拟登陆带验证码的网站客户端
- python requests模拟登陆带验证码的网站
- 非常实用的 jQuery 验证码
- c# 模拟登陆(带验证码)
- 爬虫模拟登陆_带验证码
- 非常非常实用的一个小技巧
- 一个非常实用的进度条
- 一个非常实用的例子
- Flex 带验证码的登陆页面
- Flex 带验证码的登陆页面
- Java登陆带验证码的网站
- 带验证码的HTML5登陆页面
- vb.net如何使用HttpWebRequest模拟登陆带验证码的网站
- php实现模拟登陆带验证码并且重定向的教务处系统
- php curl_setopt的相关设置查询手册
- nyoj69数的长度
- 点击图片特定区域实现图片动态切换(图片热点、谷歌手形切换)
- 属性与实例变量--笔记9.12
- python连接oracle
- 一个非常实用的带验证码的模拟登陆实例
- android系统cpu资源相关查询
- ubuntu14.04 设置搜狗输入法在任何时候按左右两侧的shift激活
- Valid Sudoku
- SharePoint开发中的最佳实践(续)
- UVA - 10706 Number Sequence(贪心)
- Zabbix 添加Linux客户端 Agent方式
- 做共享软件的一些心得与经验
- 设置允许横竖屏