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模拟登录教程大全