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

<?php
$CookieFile=tempnam("./tmep","beast");
if(isset($_GET["img"])){
$url = 'http://www.yto.net.cn/Controller/ValidateCode.aspx';//验证码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://jingang.yto56.com.cn/expws/expquery/waybillService.action");
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://jingang.yto56.com.cn/expws/expquery/waybillService.action");
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 }
?>



文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
相关日志:
评论: 3 | 引用: 0 | 查看次数: -
回复回复雷锋[2014-09-26 12:00 AM | del]
这个是一个BUG吧。。。。。不用谢我!请叫我雷锋
回复回复dwq[2014-09-26 11:58 AM | del]
dwqdwqdwqdwqdwqdqdwqdwq
回复回复zhangjian[2014-09-26 11:56 AM | del]
few
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.