php登录抓取网页指定内容( 网络虫篇文章文中示例代码介绍(2020年07月16日))

优采云 发布时间: 2021-12-17 06:27

  php登录抓取网页指定内容(

网络虫篇文章文中示例代码介绍(2020年07月16日))

  PHP如何获取cookies并实现模拟登录

  更新时间:2020年7月16日11:23:20 作者:网虫

  本文文章主要介绍PHP如何获取Cookies,实现模拟登录。文章通过示例代码进行详细介绍,对大家的学习或工作具有一定的参考学习价值。有需要的朋友可以参考

  一、定义cookie存储路径

  必须使用绝对路径

  $cookie_jar = dirname(__FILE__)."/pic.cookie";

  二、获取cookies

  将 cookie 保存到文件

  

$url = "http://1.2.3.4/";

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_HEADER, 0);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_jar);

$content = curl_exec($ch);

curl_close($ch);

  三、 模拟浏览器获取验证码

  服务器验证码有漏洞,可自行指定

  取出cookie一起提交给服务器,让服务器认为是浏览器打开登录页面

  

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'http://1.2.3.4/getCheckpic.action?rand=6836.185874812305');

curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_jar);

curl_setopt($ch, CURLOPT_HEADER, 0);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$ret = curl_exec($ch);

curl_close($ch);

  四、POST 提交

  

$post = "name=2&userType=1&passwd=asdf&loginType=1&rand=6836&imageField.x=25&imageField.y=7";

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "http://1.2.3.4/loginstudent.action");

curl_setopt($ch, CURLOPT_HEADER, false);

curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);

curl_setopt($ch, CURLOPT_POSTFIELDS, $post);

curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_jar);

$result=curl_exec($ch);

curl_close($ch);

  五、到指定页面获取数据

  

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "http://1.2.3.4/accountcardUser.action");

curl_setopt($ch, CURLOPT_HEADER, false);

curl_setopt($ch, CURLOPT_HEADER, 0);

curl_setopt($ch, CURLOPT_RETURNTRANSFER,0);

curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_jar);

$html=curl_exec($ch);

// var_dump($html);

curl_close($ch);

  以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持Scripthome。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线