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

王顶峰 王顶峰 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
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; // 返回数据
}

...全文

相关推荐

评论
收藏 已收藏
分享
返回顶部
王顶峰
PHP 20,393 成员 19,654 内容