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

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

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

<?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
}


文章地址:

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn