Home  >  Article  >  php教程  >  PHP利用curl获取验证码,发送cookie二次抓取

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

WBOY
WBOYOriginal
2016-05-25 16:44:531027browse

<?php
$CookieFile = tempnam("./tmep", "beast");
if (isset($_GET["img"])) {
    $url = &#39;http://www.phprm.com/&#39;; //验证码code
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_COOKIEJAR, $CookieFile); //把返回来的cookie信息保存在文件中
    curl_exec($ch);
    curl_close($ch);
    exit();
}
if (isset($_POST[&#39;d&#39;])) {
    $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" / alt="PHP利用curl获取验证码,发送cookie二次抓取 " ><!--由服务器端取图片内容并输出--> 
<input type="text" name="d"  /> 
<input type="submit" name="button" id="button" value="提交" /> 
</form> 
<?php
}


文章地址:

转载随意^^请带上本文地址!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn