php登录抓取网页指定内容(存储路径必须使用绝对路径二、模拟浏览器获取 )

优采云 发布时间: 2022-01-18 11:07

  php登录抓取网页指定内容(存储路径必须使用绝对路径二、模拟浏览器获取

)

  原文:

  一、定义 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);

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线