> php教程 > PHP源码 > 본문

php使用Snoopy.class.php做http get post请求

PHP中文网
풀어 주다: 2016-05-23 16:36:51
원래의
1200명이 탐색했습니다.

snoopy是一个php类,用来模仿web浏览器的功能,它能完成获取网页内容和发送表单的任务。

下面是它的一些特征:

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做http get post请求         

 

1. [代码]通过get方法获取指定url内容    

<?php
$url = "http://www.taoav.com"; 
include("snoopy.php"); 
$snoopy = new Snoopy; 
$snoopy->fetch($url); //获取所有内容 
echo $snoopy->results; //显示结果 
//可选以下 
$snoopy->fetchtext //获取文本内容(去掉html代码) 
$snoopy->fetchlinks //获取链接 
$snoopy->fetchform //获取表单 
?>
로그인 후 복사

2. [代码]表单提交

<?php 
$formvars["username"] = "admin"; 
$formvars["pwd"] = "admin"; 

$action = "http://www.taoav.com";//表单提交地址 
$snoopy->submit($action,$formvars);//$formvars为提交的数组 
echo $snoopy->results; //获取表单提交后的 返回的结果 
//可选以下 
$snoopy->submittext; //提交后只返回 去除html的 文本 
$snoopy->submitlinks;//提交后只返回 链接 
?> 


伪装ip,伪装浏览器
<?php 
$formvars["username"] = "admin"; 
$formvars["pwd"] = "admin"; 
$action = "http://www.taoav.com"; 
include "snoopy.php"; 
$snoopy = new Snoopy; 
$snoopy->cookies["PHPSESSID"] = &#39;fc106b1918bd522cc863f36890e6fff7&#39;; //伪装sessionid 
$snoopy->agent = "(compatible; MSIE 4.01; MSN 2.5; AOL 4.0; Windows 98)"; //伪装浏览器 
$snoopy->referer = //m.sbmmt.com/; //伪装来源页地址 http_referer 
$snoopy->rawheaders["Pragma"] = "no-cache"; //cache 的http头信息 
$snoopy->rawheaders["X_FORWARDED_FOR"] = "127.0.0.101"; //伪装ip 
$snoopy->submit($action,$formvars); 
echo $snoopy->results; 
?> 



<? 
include "Snoopy.class.php"; 
$snoopy = new Snoopy; 
$submit_url = "http://www.phpx.com/happy/logging.php?action=login"; 

$submit_vars["loginmode"] = "normal"; 
$submit_vars["styleid"] = "1"; 
$submit_vars["cookietime"] = "315360000"; 
$submit_vars["loginfield"] = "username"; 
$submit_vars["username"] = "********"; //你的用户名 
$submit_vars["password"] = "*******"; //你的密码 
$submit_vars["questionid"] = "0"; 
$submit_vars["answer"] = ""; 
$submit_vars["loginsubmit"] = "提   交"; 
$snoopy->submit($submit_url,$submit_vars); 
print $snoopy->results;

?>
로그인 후 복사

3. [代码]使用代理

<?php
include("snoopy.class.php");
$snoopy = new Snoopy;
// need an proxy?://
$snoopy->proxy_host = "my.proxy.host";
$snoopy->proxy_port = "8080";
// set browser and referer:
$snoopy->agent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)";
$snoopy->referer = "http://www.jonasjohn.de/";
// set some cookies:
$snoopy->cookies["SessionID"] = &#39;238472834723489&#39;;
$snoopy->cookies["favoriteColor"] = "blue";
// set an raw-header:
$snoopy->rawheaders["Pragma"] = "no-cache";
// set some internal variables:
$snoopy->maxredirs = 2;
$snoopy->offsiteok = false;
$snoopy->expandlinks = false;
// set username and password (optional)//
$snoopy->user = "joe";
snoopy->pass = "bloe";
// fetch the text of the website www.google.com:
if($snoopy->fetchtext("http://www.google.com"))
{ // other methods: fetch, fetchform, fetchlinks, submittext and submitlinks
// response code: print "response code: ".$snoopy->response_code."<br/>\n";
// print the headers: print "<b>Headers:</b><br/>";
while(list($key,$val) = each($snoopy->headers))
{ 
print $key.": ".$val."<br/>\n";
} 
print "<br/>\n";
// print the texts of the website: print "<pre class="brush:php;toolbar:false">".htmlspecialchars($snoopy->results)."
\n"; } else { print "Snoopy: error while fetching document: ".$snoopy->error."\n"; } ?>
로그인 후 복사

                   

                   

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!