snoopy.class.php中php模拟登录代码解析

发布时间:2020-08-17编辑:脚本学堂
本文介绍了snoopy.class.php文件中模拟登录的方法,php模拟登录实例代码,需要的朋友参考下。

snoopy.class.php php模拟登录实例

官方网站:
http://snoopy.sourceforge.net/

特征:
1、方便抓取网页的内容
2、方便抓取网页的文字(去掉HTML代码)
3、方便抓取网页的链接
4、支持代理主机
5、支持基本的用户/密码认证模式
6、支持自定义用户agent,referer,cookies和header内容
7、支持浏览器转向,并能控制转向深度
8、能把网页中的链接扩展成高质量的url(默认)
9、方便提交数据并且获取返回值
10、支持跟踪HTML框架(v0.92增加)
11、支持再转向的时候传递cookies

例子,php使用snoopy.class.php实现模拟登录。
一、抓取blog的文字
 

复制代码 代码示例:
<?
include "Snoopy.class.php";
$snoopy = new Snoopy;
$snoopy->fetchtext(http://www.jb200.com);
echo $snoopy->results;
?>

二、抓取链接
 

复制代码 代码示例:
<?
include "Snoopy.class.php";
$snoopy = new Snoopy;
$snoopy->fetchlinks(http://www.jb200.com);
print_r($snoopy->results);
?>

三、模拟登录我的博客
 

复制代码 代码示例:
<?php
include_once 'Snoopy.class.php';
$snoopy=new Snoopy();
$snoopy->fetch('http://xxx.cn/blog/getcode.asp');
preg_match('/JSESSIONID=([w]+);/', $snoopy->headers[2],$sessionid);
$jsessionid=$sessionid[1];
$imgcode=base64_encode($snoopy->results);
?>
<form action="?act=sub" method="post">
<table>
  <tr>
  <th>用户名</th>
  <td><input name="user"></td>
  </tr>
  <tr>
  <th>密码</th>
  <td><input name="pass"></td>
  </tr>
  <tr>
  <th>验证码</th>
  <td><input name="loginValidateCode">
  <img alt="" src="data:image/gif;base64,<?php echo $imgcode?>">
  </td>
  </tr>
  <tr>
  <td><input type="submit"></td>
  </tr>
</table>
<input type="hidden" name="jsessionid" value="<?php echo $jsessionid?>">
</form>
<?php
if($_GET['act']=='sub'){
$snoopy->cookies['JSESSIONID']=$_POST['jsessionid'];
$snoopy->submit('http://xxx.cn/blloginok.html',$_POST);
echo $snoopy->results;
}
?>

>>> 更多 php模拟登录 文章,专题链接:php模拟登录 php curl模拟登录教程大全