Snoopy は、ブラウザの機能をシミュレートするために使用される php クラスであり、Web コンテンツを取得したり、フォームを送信したり、いくつかの収集プログラムや泥棒プログラムを開発するために使用できます。この記事では、snoopy の使い方チュートリアルを詳しく紹介します。
スヌーピーのいくつかの特徴:
Web ページのコンテンツを取得して取得します
Web ページのテキストコンテンツを取得します (HTML タグを削除します) fetchtext
Web リンクとフォームを取得する fetchlinks fetchform
プロキシホストをサポート
基本的なユーザー名/パスワード検証をサポートします
user_agent、リファラー (ソース)、Cookie、ヘッダーコンテンツ (ヘッダーファイル) の設定をサポートします
ブラウザーのリダイレクトをサポートし、リダイレクトの深さを制御できます
Web ページ内のリンクを高品質の URL に展開できます (デフォルト)
データを送信して戻り値を取得します
HTMLフレームワークの追跡をサポートします
リダイレクト時の Cookie の受け渡しをサポートします
PHP 4 以降のみが必要です。PHP クラスなので、サポートを拡張する必要はありません。サーバーがcurlをサポートしていない場合に最適です。
フェッチ($URI)
これは、Web ページのコンテンツをクロールするために使用される方法です。
$URI パラメータは、クロールされた Web ページの URL アドレスです。
取得した結果は $this->results に保存されます。
フレームをスクレイピングしている場合、スヌーピーは各フレームを追跡して配列に保存し、$this->results に保存します。
フェッチテキスト($URI)
このメソッドは fetch() に似ています。唯一の違いは、このメソッドが HTML タグやその他の無関係なデータを削除し、Web ページ内のテキスト コンテンツのみを返すことです。
フェッチフォーム($URI)
このメソッドは fetch() に似ていますが、唯一の違いは、このメソッドが HTML タグやその他の無関係なデータを削除し、Web ページのフォーム コンテンツ (フォーム) のみを返すことです。
フェッチリンク($URI)
このメソッドは fetch() に似ていますが、唯一の違いは、このメソッドが HTML タグやその他の無関係なデータを削除し、Web ページ内のリンクのみを返すことです。
デフォルトでは、相対リンクは自動的に完成され、完全な URL に変換されます。
送信($URI,$formvars)
このメソッドは、$URL で指定されたリンク アドレスに確認フォームを送信します。 $formvars はフォームパラメータを格納する配列です。
テキストを送信($URI,$formvars)
このメソッドは submit() に似ていますが、唯一の違いは、このメソッドは HTML タグやその他の無関係なデータを削除し、ログイン後に Web ページのテキスト コンテンツのみを返すことです。
リンクを送信($URI)
このメソッドは submit() に似ていますが、唯一の違いは、このメソッドが HTML タグやその他の無関係なデータを削除し、Web ページ内のリンクのみを返すことです。
デフォルトでは、相対リンクは自動的に完成され、完全な URL に変換されます。
スヌーピーコレクションのクラス属性: (デフォルト値は括弧内)
$host 接続されたホスト
$port 接続されているポート
$proxy_host 使用されるプロキシ ホスト (存在する場合)
$proxy_port 使用されるプロキシ ホスト ポート (存在する場合)
$agent ユーザーエージェント変装 (スヌーピー v0.1)
$referer 起源情報 (利用可能な場合)
$クッキー クッキーあれば
$rawheaders その他のヘッダー情報(ある場合)
$maxredirs リダイレクトの最大数、0=許可されません (5)
$offsiteok オフサイトへのリダイレクトを許可するかどうか (true)。
$expandlinks 完全なアドレスへのすべてのリンクを完了するかどうか (true)
$user 認証ユーザー名 (利用可能な場合)
$pass 認証ユーザー名 (利用可能な場合)
$accept http 受け入れタイプ (image/gif、image/x-xbitmap、image/jpeg、image/pjpeg、*/*)
$error エラーが報告された場所 (ある場合)
$response_code サーバーから返されたレスポンスコード
$headers サーバーから返されたヘッダー情報
$maxlength 返されるデータの最長長
$read_timeout 読み取り操作のタイムアウト (PHP 4 Beta 4+ が必要) タイムアウトなしの場合は 0 に設定します
$timed_out 読み取り操作がタイムアウトした場合、このプロパティは true を返します (PHP 4 Beta 4+ が必要)
$maxframes 追跡できる最大フレーム数
$status キャプチャされた http のステータス
$temp_dir Web サーバーが書き込むことができる一時ファイル ディレクトリ (/tmp)
$curl_path cURL バイナリのディレクトリ。cURL バイナリが存在しない場合は false に設定します
これが例です:
"Snoopy.class.php" を含めます;
$snoopy = 新しいスヌーピー;
$snoopy->proxy_host = "http://www.jb51.net";
$snoopy->proxy_port = "80";
$snoopy->agent = "(互換性; MSIE 4.01; MSN 2.5; AOL 4.0; Windows 98)";
$snoopy->referer = "http://www.jb51.net";
$snoopy->cookies["セッションID"] = 238472834723489l;
$snoopy->cookies["favoriteColor"] = "RED";
$snoopy->rawheaders["Pragma"] = "キャッシュなし";
$snoopy->maxredirs = 2;
$snoopy->offsiteok = false;
$snoopy->expandlinks = false;
$snoopy->user = "ジョー";
$snoopy->pass = "ブルー";
if($snoopy->fetchtext("http://www.jb51.net"))
{
echo "
".htmlspecialchars($snoopy->results)."n";
}
それ以外
echo "ドキュメントの取得エラー: ".$snoopy->error."n";
获取指定url内容
include("スヌーピー.php");
$snoopy = 新しいスヌーピー;
$snoopy->fetch($url); //すべてのコンテンツを取得します
$snoopy->結果をエコーします。 //显示結果
//以下を選択可能
$snoopy->fetchtext //获取文本内容(去掉html代码)
$snoopy->fetchlinks //获取链接
$snoopy->fetchform //获取表单
?>
表单提交
$formvars["pwd"] = "管理者";
$action = "http://www.jb51.net";//表单提交地址
$snoopy->submit($action,$formvars);//$formvars は提交の数グループ
$snoopy->結果をエコーします。 // 取表单提交後の返還結果
//以下を選択可能
$snoopy->submittext; //提交後ただ去除htmlの文本を返すだけ
$snoopy->submitlinks;//提交後ただ返链接
?>
既然已经提交的表单 那就可以很多事情接下来我们来伪装ip,伪装浏览器
伪装浏览器
$formvars["pwd"] = "ランフェンイェ";
$action = "http://www.jb51.net";
「snoopy.php」を含める;
$snoopy = 新しいスヌーピー;
$snoopy->cookies["PHPSESSID"] = 'fc106b1918bd522cc863f36890e6fff7'; //伪装セッションID
$snoopy->agent = "(互換性; MSIE 4.01; MSN 2.5; AOL 4.0; Windows 98)"; //伪装浏览器
$snoopy->referer = "http://www.jb51.net"; //伪装来源页地址 http_referer
$snoopy->rawheaders["Pragma"] = "キャッシュなし"; //キャッシュのhttp头情報
$snoopy->rawheaders["X_FORWARDED_FOR"] = "127.0.0.101"; //伪装イップ
$snoopy->submit($action,$formvars);
echo $snoopy->結果;
?>
セッションを偽装したり、ブラウザを偽装したり、IP を偽装したりできることがわかりました。笑、たくさんのことができます。
たとえば、確認コードを持参して IP を確認して投票すると、ノンストップで投票できます。
ps: ここで IP を偽装することは、実際には http ヘッダーを偽装することになるため、REMOTE_ADDR を通じて取得された IP は偽装できません。
逆に、http ヘッダー (プロキシを防ぐことができる種類) を通じて IP を取得する人は、独自の IP を作成できます。
コードを検証する方法について、簡単に説明します:
まず、通常のブラウザを使用してページを表示し、確認コードに対応するセッション ID を見つけます
また、セッション ID と確認コードの値も書き留めてください。
次にスヌーピーを使ってごまかします。
原則: 同じセッションIDであるため、取得される確認コードは最初に入力したものと同じです。
$snoopy->proxy_host = "http://www.jb51.net";
$snoopy->proxy_port = "8080" //プロキシを使用します
; $snoopy->maxredirs = 2; //リダイレクト数
; $snoopy->expandlinks = true; //リンクを完了するかどうか、収集中によく使用されます
// たとえば、リンクは /images/taoav.gif ですが、完全なリンクに変更できますhttp:// www.jb51.net/images/taoav.gif
$snoopy->maxframes = 5 //許可される最大フレーム数
//フレームを取得すると、$snoopy->result は配列を返すことに注意してください
$snoopy->error //エラーメッセージを返す
?>
。

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

php判断有没有小数点的方法:1、使用“strpos(数字字符串,'.')”语法,如果返回小数点在字符串中第一次出现的位置,则有小数点;2、使用“strrpos(数字字符串,'.')”语句,如果返回小数点在字符串中最后一次出现的位置,则有。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

在PHP中,可以利用implode()函数的第一个参数来设置没有分隔符,该函数的第一个参数用于规定数组元素之间放置的内容,默认是空字符串,也可将第一个参数设置为空,语法为“implode(数组)”或者“implode("",数组)”。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。
