CURL模拟登陆

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
index.html
<a href="http://adtuu-server.com/login/login.php?auth_username=admin&auth_password=admin123">Login</a>
 
admincp.php
<?php
$username = $_POST['auth_username'];
$password = $_POST['auth_password'];
 
if ($username == 'admin' && $password == 'admin123') {
    echo 'ok';
} else {
    echo 'error.';
}
 
login.php
<?php
if (isset($_GET['auth_username']) && isset($_GET['auth_password'])) {
 
    $user_agent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.1.4322)";
 
    $header = array (  
        "Host:www.adtuu-server.com",   
        "Referer: http://www.adtuu-server.com/login/login.php",  
    );
 
    $data = array(
        'auth_username' => $_GET['auth_username'],
        'auth_password' => $_GET['auth_password']
    );
 
    $url = 'http://www.adtuu-server.com/login/admincp.php';
 
    $curl = curl_init (); // 启动一个CURL会话
    curl_setopt ( $curl, CURLOPT_URL, $url ); // 要访问的地址
    curl_setopt ( $curl, CURLOPT_SSL_VERIFYPEER, 0 ); // 对认证证书来源的检查
    // curl_setopt ( $curl, CURLOPT_SSL_VERIFYHOST, 1 ); // 从证书中检查SSL加密算法是否存在
    curl_setopt ( $curl, CURLOPT_USERAGENT, $user_agent ); // 模拟用户使用的浏览器
    curl_setopt($curl, CURLOPT_HTTPHEADER, $header);  //设置头信息的地方  
    @curl_setopt ( $curl, CURLOPT_FOLLOWLOCATION, 1 ); // 使用自动跳转    
    // curl_setopt ( $curl, CURLOPT_HTTPGET, 1 ); // 发送一个常规的GET请求
    curl_setopt ( $curl, CURLOPT_POST, 1 ); // 发送一个常规的Post请求
    curl_setopt ( $curl, CURLOPT_POSTFIELDS, $data ); // Post提交的数据包
 
    // curl_setopt ( $curl, CURLOPT_COOKIE, $cookie); // 直接发送cookie内容
    // curl_setopt($curl,CURLOPT_COOKIEFILE, $cookieFile); //发送Cookie文件
    curl_setopt ( $curl, CURLOPT_TIMEOUT, 120 ); // 设置超时限制防止死循环
    curl_setopt ( $curl, CURLOPT_HEADER, 0 ); // 不显示返回的Header区域内容
    curl_setopt ( $curl, CURLOPT_RETURNTRANSFER, 1 ); // 获取的信息以文件流的形式返回
 
    $res = curl_exec ( $curl ); // 执行操作
 
    if (curl_errno ( $curl )) {
        die('失败:Errno' . curl_error ( $curl ));
    }
 
    curl_close ( $curl ); // 关闭CURL会话
 
    // header('Location:http://www.adtuu-server.com/login/admincp.php');
    echo $res;
    exit;
}
?>
 
<form action="http://www.adtuu-server.com/login/admincp.php" method="post">
<input type="text" name="auth_username" /><br />
<input type="password" name="auth_password" value="" /><br />
<input type="submit" value="Login" /><br />
</form>

  

posted @   Adtuu  阅读(163)  评论(0编辑  收藏  举报
编辑推荐:
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
· Linux系统下SQL Server数据库镜像配置全流程详解
· 现代计算机视觉入门之:什么是视频
· 你所不知道的 C/C++ 宏知识
阅读排行:
· 不到万不得已,千万不要去外包
· C# WebAPI 插件热插拔(持续更新中)
· 会议真的有必要吗?我们产品开发9年了,但从来没开过会
· 【译】我们最喜欢的2024年的 Visual Studio 新功能
· 如何打造一个高并发系统?
点击右上角即可分享
微信分享提示