首页 > php代码 > PHP利用curl获取验证码(发送cookie二次抓取)

PHP利用curl获取验证码(发送cookie二次抓取)

php中curl功能的强大我想大家可能还不知道吧,下面我再介绍一个工作中用到的利用curl获取验证码的实例并且可以为造cookie.

<?php
$CookieFile = tempnam("./tmep", "beast");
if (isset($_GET["img"])) {
    $url = 'http://www.phprm.com/phper/php.htm'; //验证码code
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_COOKIEJAR, $CookieFile); //把返回来的cookie信息保存在文件中
    curl_exec($ch);
    curl_close($ch);
    exit();
}
if (isset($_POST['d'])) {
    $b = $_POST[d]; //验证码
    $p = "waybillNo=1721269381&inputcode=" . $b;
    $ch = curl_init();
    // 2. 设置选项,包括URL
    curl_setopt($ch, CURLOPT_URL, "http://www.phprm.com");
    curl_setopt($ch, CURLOPT_COOKIEJAR, $CookieFile);
    curl_setopt($ch, CURLOPT_COOKIEFILE, $CookieFile); //同时发送Cookie
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $p); //提交查询信息
    $s = curl_exec($ch);
    curl_close($ch);
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, http: //www.phprm.com);
        curl_setopt($ch, CURLOPT_COOKIEFILE, $CookieFile); //同时发送Cookie
        curl_setopt($ch, CURLOPT_COOKIEJAR, $CookieFile);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $p); //提交查询信息
        $bs = curl_exec($ch);
        echo $bs; //输出结果
        curl_close($ch);
    } else {
?>
<form id="form1" name="form1" method="post" action="">
<img src="?img=true" /><!--由服务器端取图片内容并输出-->
<input type="text" name="d"  />
<input type="submit" name="button" id="button" value="提交" />
</form>
<?php
    }
?>


本文地址:http://www.phprm.com/code/55543.html

转载随意,但请附上文章地址:-)

标签:curl_setopt

相关文章

发表留言