PHP模拟赶集网发布信息,验证码问题

王顶峰 2015-10-20 02:47:36
PHP 在模拟赶集网发布信息时,频繁登陆需要输入登陆验证码,怎么样处理这个问题,谢谢大家


$url = "https://passport.ganji.com/login.php";
$data ="login_username=wangsheng6666666666&login_password=".trim(decode('bGlqaWF3YW5nc2hlbmcyMDEz'));
// $imageurl= 'https://passport.ganji.com/ajax.php?dir=captcha&module=login_captcha&nocache=1445313015271';
$redata= $publish->vlogin($url,$data,$url,true);
function vlogin($url,$data,$REFERER =null,$ishttps=true){ //
$curl = curl_init(); // 启动一个CURL会话
curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址
curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模拟用户使用的浏览器
if(empty($REFERER))
{
curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer
}else{
curl_setopt($curl, CURLOPT_REFERER, $REFERER);// 设置Referer
}
if($ishttps)
{
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2); // 从证书中检查SSL加密算法是否存在
}
curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求
curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包
// curl_setopt($curl, CURLOPT_COOKIEFILE, $this->cookie_file); // 读取上面所储存的Cookie信息
// curl_setopt($curl, CURLOPT_COOKIEJAR, $this->cookie_file); // 存放Cookie信息的文件名称
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回
curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环
curl_setopt($curl, CURLOPT_HEADER, 1);
$tmpInfo = curl_exec($curl); // 执行操作
if (curl_errno($curl)) {
echo 'Errno'.curl_error($curl);
}
// preg_match_all('/Set-Cookie:stest=(.*)/i', $tmpInfo, $tmpInfo);
curl_close($curl); // 关闭CURL会话
return $tmpInfo; // 返回数据
}

...全文
146 点赞 收藏 回复
写回复
回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
相关推荐
发帖
PHP
创建于2008-08-27

1.9w+

社区成员

“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
申请成为版主
帖子事件
创建了帖子
2015-10-20 02:47
社区公告
暂无公告