搜尋
首頁php教程PHP源码php使用Snoopy.class.php做http get post请求

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 = http://www.php.cn/; //伪装来源页地址 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"; } ?>

                   

                   

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!