ホームページ php教程 php手册 PHP収集ツール スヌーピーお試し体験

PHP収集ツール スヌーピーお試し体験

Jun 21, 2016 am 08:54 AM
gt http net snoopy

スヌーピーとは何ですか? (スヌーピーをダウンロード)
スヌーピーは、Web ブラウザーの機能を模倣するために使用される php クラスで、Web ページのコンテンツの取得とフォームの送信のタスクを実行できます。
スヌーピーのいくつかの機能:
* Web ページのコンテンツをクロールするのに便利
* Web ページのテキスト コンテンツをクロールするのに便利 (HTML タグを削除)
* Web ページのリンクをクロールするのに便利
* プロキシ ホストをサポート
* 基本的なユーザー名/パスワード認証をサポート
* user_agent、リファラー (ソース)、Cookie およびヘッダー コンテンツ (ヘッダー ファイル) の設定をサポート
* ブラウザーのリダイレクトをサポートし、リダイレクトの深さを制御できます
* Web ページ内のリンクを高品質の URL に展開できます (デフォルト)
* データを送信して戻り値を取得するのに便利
* トラッキング HTML フレームワークをサポート (v0.92 で追加)
* Cookie を渡すときのリダイレクトをサポート (v0.92 で追加)
さらに詳しく知りたい場合は、自分で Google で調べてください。以下にいくつかの簡単な例を示します。
1 指定された URL のコンテンツを取得します
PHP コード

コードをコピーします コードは次のとおりです。


$url = "http://www.jb51.net";
include("snoopy.php");
$snoopy = 新しいスヌーピー
$snoopy->fetch($) url); //すべてのコンテンツを取得
echo $snoopy->results; //結果を表示
$snoopy->fetchtext //テキストコンテンツを取得(HTMLコードを削除)
$snoopy-> fetchlinks //リンクを取得
$snoopy->fetchform //フォームを取得


2 フォーム送信
PHP コード

コードをコピー コードは次のとおりです:


$formvars["username"] = "管理者";
$formvars["pwd"] = "管理者";
$action = "http://www.jb51.net";//フォーム送信アドレス
$snoopy->submit($action,$formvars);//$formvars は送信された配列です
echo $snoopy->results; //フォーム送信後に返される結果を取得します
$snoopy->submittext; //送信後は HTML なしのテキストのみを返します
$snoopy->submitlinks;//送信後にはリンクのみを返します


フォームが送信されたので、次は、IP とブラウザを偽装しましょう
3 偽装
PHP コード

コピーcodeコードは次のとおりです:


$formvars["ユーザー名"] = "管理者";
$formvars["pwd"] = "管理者";
$action = "http://www.jb51.net"; >include "snoopy.php";
$snoopy = new Snoopy;
$snoopy->cookies["PHPSESSID"] = 'fc106b1918bd522cc863f36890e6fff7'; //セッション ID を偽装します
$snoopy->agent = "(互換性; MSIE 4.01; MSN 2.5; AOL 4.0; Windows 98)"; //偽装ブラウザ
$snoopy->referer = "http://s.jb51.net"; http_referer
$snoopy->rawheaders["Pragma"] = "no-cache"; //キャッシュの http ヘッダー情報
$snoopy->rawheaders["X_FORWARDED_FOR"] = "127.0.0.101" / /Disguise ip
$snoopy->submit($action,$formvars);
echo $snoopy->results;
セッション、ブラウザ、IP を偽装できることがわかりました。笑、たくさんのことができます。
たとえば、確認コードと IP アドレスを使用して投票すると、継続的に投票できます。

追記: ここでの IP の偽装は、実際には http ヘッダーの偽装なので、REMOTE_ADDR で取得した IP は偽装できません。
逆に、http ヘッダーで IP を取得する人 (プロキシを防ぐことができる種類) は偽装できません。 IPを作成するには自分で行うことができます。
コードを確認する方法の簡単な説明:
まず、通常のブラウザを使用してページを表示し、確認コードに対応するセッション ID を見つけます。
セッション ID と確認コードの値をメモします。
次はスヌーピーを使って真似してみましょう。
原則: 同じセッションIDであるため、取得される確認コードは最初に入力したものと同じです。
4 場合によっては、さらに多くのものを偽造する必要があるかもしれません。スヌーピーが完全に考えてくれました。
PHP コード



コードをコピー

コードは次のとおりです: $snoopy->proxy_host = "www.jb51.net";

$snoopy->proxy_port = "8080"; //プロキシを使用します

$snoopy->maxredirs = 2;リダイレクト数
$snoopy->expandlinks = true; //収集中に補完リンクが頻繁に使用されるかどうか
// たとえば、リンクは /images/taoav.gif に変更できます。フルリンク http://www.jb51.net/images/taoav.gif、この場所は実際には最終出力中に ereg_replace 関数で置き換えることができます
$snoopy->maxframes = 5 //最大フレーム数allowed
//フレームを取得すると、$snoopy->results は配列を返すことに注意してください
$snoopy->error //エラー メッセージを返します


上記の基本的な使用法は理解できたので、例を使って説明します。
PHP コード




コードをコピー

コードは次のとおりです。 :


//echo var_dump($_SERVER);
$snoopy = 新しいスヌーピー-> = "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-
CN; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5 FirePHP/0.2.1";//これはブラウザ情報です
情報、以前に Cookie を表示するために使用したブラウザは、そのブラウザの情報をそのまま使用します (ps:$_SERVER はブラウザ情報を表示できます)
$snoopy->referer = "http://bbs .jb51. net/index.php";
$snoopy->expandlinks = true;
$snoopy->rawheaders["COOKIE"]="__utmz=17229162.1227682761.29.7.utmccn=(参照)utmcsr =jb51. netutmcct=/html/index.htmlutmcmd=referral; cdbphpchina_smile=1D2D0D1=2592000; __utma=233700831.1562900865.1229613449.1231233266.1 __ utmz=233700831.1231233266.16.8.utmccn=(参照)utmcsr=localhost:8080utmcct=/test3.紹介; __utma=17229162.1877703507.1227113568.1231228465.1231233160.58; xscdb_cookietime=2592000; __utmc=17229162; 2; cdbphpchina_sid=EX5w1V; __utmc=233700831; th=8106rAyhKpQL49eMs%2B2idSk4bExJwbQr%2B6KLPg3Dt WpTMUI4ttqNNVpukUj6ElM ; cdbphpchina_onlineusernum=3721";
$snoopy->fetch("http://bbs.jb51.net");
$n=ereg_re place("href="","href ="http: //bbs.jb51.net/",$snoopy->results );
echo ereg_replace("src="","src="http://bbs.jb51.net/", $n);
?>


これは PHPCHINA フォーラムへのログインをシミュレートするプロセスです。まず、ブラウザの情報を確認する必要があります。

: echo var_dump($_SERVER); このコードでブラウザの情報を確認できます。
$_SERVER ['HTTP_USER_AGENT'] の後の内容をコピーし、$snoopy->agent の領域に貼り付けます。その後、自分の
COOKIE を確認する必要があります。フォーラムで自分のアカウントを作成し、ブラウザのアドレス バーに
javascript:document.write(document.cookie) と入力して Enter キーを押すと、Cookie 情報が表示され、$snoopy-> の後に
をコピーして貼り付けます。 rawheaders["COOKIE"]=。 (私の Cookie 情報はセキュリティ上の理由から削除されています)

次に、次の点に注意してください:

# $n=ereg_replace("href="","href="http:// bbs. jb51.net/",$snoopy->results );

# echo ereg_replace("src="","src="http://bbs.jb51.net/",$n );

これら 2 行のコードは、収集されたコンテンツのすべての HTML ソース アドレスが相対リンクであるため、フォーラムの画像と CSS スタイルを引用できるように絶対リンクに置き換える必要があります。




このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Huawei GT3 ProとGT4の違いは何ですか? Huawei GT3 ProとGT4の違いは何ですか? Dec 29, 2023 pm 02:27 PM

多くのユーザーはスマートウォッチを選ぶときにファーウェイブランドを選択しますが、その中でもファーウェイ GT3pro と GT4 は非常に人気のある選択肢であり、多くのユーザーはファーウェイ GT3pro と GT4 の違いに興味を持っています。 Huawei GT3pro と GT4 の違いは何ですか? 1. 外観 GT4: 46mm と 41mm、材質はガラスミラー + ステンレススチールボディ + 高解像度ファイバーバックシェルです。 GT3pro: 46.6mm および 42.9mm、材質はサファイアガラス + チタンボディ/セラミックボディ + セラミックバックシェルです。 2. 健全な GT4: 最新の Huawei Truseen5.5+ アルゴリズムを使用すると、結果はより正確になります。 GT3pro: ECG 心電図と血管と安全性を追加

http ステータス コード 520 は何を意味しますか? http ステータス コード 520 は何を意味しますか? Oct 13, 2023 pm 03:11 PM

HTTP ステータス コード 520 は、サーバーがリクエストの処理中に不明なエラーに遭遇し、より具体的な情報を提供できないことを意味します。サーバーがリクエストを処理しているときに不明なエラーが発生したことを示すために使用されます。サーバー構成の問題、ネットワークの問題、またはその他の不明な理由が原因である可能性があります。これは通常、サーバー構成の問題、ネットワークの問題、サーバーの過負荷、またはコーディング エラーが原因で発生します。ステータス コード 520 エラーが発生した場合は、Web サイト管理者またはテクニカル サポート チームに連絡して詳細情報と支援を得ることが最善です。

httpステータスコード403とは何ですか? httpステータスコード403とは何ですか? Oct 07, 2023 pm 02:04 PM

HTTP ステータス コード 403 は、サーバーがクライアントの要求を拒否したことを意味します。 http ステータス コード 403 の解決策は次のとおりです: 1. 認証資格情報を確認します。サーバーが認証を必要とする場合は、正しい資格情報が提供されていることを確認します。2. IP アドレス制限を確認します。サーバーが IP アドレスを制限している場合は、クライアントの IP アドレスは制限されています。ホワイトリストに登録されているか、ブラックリストに登録されていません。3. ファイルのアクセス許可設定を確認します。403 ステータス コードがファイルまたはディレクトリのアクセス許可設定に関連している場合は、クライアントがこれらのファイルまたはディレクトリにアクセスするための十分なアクセス許可を持っていることを確認してください。等

修正: Windows 11 で Snipping ツールが機能しない 修正: Windows 11 で Snipping ツールが機能しない Aug 24, 2023 am 09:48 AM

Windows 11 で Snipping Tool が機能しない理由 問題の根本原因を理解すると、適切な解決策を見つけるのに役立ちます。 Snipping Tool が正しく動作しない主な理由は次のとおりです。 フォーカス アシスタントがオンになっている: これにより、Snipping Tool が開かなくなります。破損したアプリケーション: 起動時にスニッピング ツールがクラッシュする場合は、破損している可能性があります。古いグラフィック ドライバー: 互換性のないドライバーは、スニッピング ツールに干渉する可能性があります。他のアプリケーションからの干渉: 実行中の他のアプリケーションが Snipping Tool と競合する可能性があります。証明書の有効期限が切れています: アップグレード プロセス中のエラーにより、この問題が発生する可能性があります。これらの簡単な解決策は、ほとんどのユーザーに適しており、特別な技術知識は必要ありません。 1. Windows および Microsoft Store アプリを更新する

Nginx プロキシ マネージャーを使用して HTTP から HTTPS への自動ジャンプを実装する方法 Nginx プロキシ マネージャーを使用して HTTP から HTTPS への自動ジャンプを実装する方法 Sep 26, 2023 am 11:19 AM

NginxProxyManager を使用して HTTP から HTTPS への自動ジャンプを実装する方法 インターネットの発展に伴い、ますます多くの Web サイトが HTTPS プロトコルを使用してデータ送信を暗号化し、データ セキュリティとユーザーのプライバシー保護を向上させ始めています。 HTTPS プロトコルは SSL 証明書のサポートを必要とするため、HTTPS プロトコルを展開する際には特定の技術サポートが必要です。 Nginx は強力で一般的に使用される HTTP サーバーおよびリバース プロキシ サーバーであり、NginxProxy

Web ページのリダイレクトの一般的なアプリケーション シナリオを理解し、HTTP 301 ステータス コードを理解する Web ページのリダイレクトの一般的なアプリケーション シナリオを理解し、HTTP 301 ステータス コードを理解する Feb 18, 2024 pm 08:41 PM

HTTP 301 ステータス コードの意味を理解する: Web ページ リダイレクトの一般的なアプリケーション シナリオ インターネットの急速な発展に伴い、Web ページの操作に対する人々の要求はますます高くなっています。 Web デザインの分野では、Web ページのリダイレクトは一般的かつ重要なテクノロジであり、HTTP 301 ステータス コードによって実装されます。この記事では、HTTP 301 ステータス コードの意味と、Web ページ リダイレクトにおける一般的なアプリケーション シナリオについて説明します。 HTTP301 ステータス コードは、永続的なリダイレクト (PermanentRedirect) を指します。サーバーがクライアントのメッセージを受信すると、

http.PostForm 関数を使用してフォーム データを含む POST リクエストを送信する http.PostForm 関数を使用してフォーム データを含む POST リクエストを送信する Jul 25, 2023 pm 10:51 PM

http.PostForm 関数を使用して、フォーム データを含む POST リクエストを送信します。Go 言語の http パッケージでは、http.PostForm 関数を使用して、フォーム データを含む POST リクエストを送信できます。 http.PostForm 関数のプロトタイプは次のとおりです。 funcPostForm(urlstring,dataurl.Values)(resp*http.Response,errerror)where, u

クイックアプリケーション: PHP 複数ファイルの非同期 HTTP ダウンロードの実践的な開発事例分析 クイックアプリケーション: PHP 複数ファイルの非同期 HTTP ダウンロードの実践的な開発事例分析 Sep 12, 2023 pm 01:15 PM

クイック アプリケーション: PHP の実践的な開発ケース分析 複数ファイルの非同期 HTTP ダウンロード インターネットの発展に伴い、ファイル ダウンロード機能は多くの Web サイトやアプリケーションの基本的なニーズの 1 つになりました。複数のファイルを同時にダウンロードする必要があるシナリオでは、従来の同期ダウンロード方法は非効率的で時間がかかることがよくあります。このため、PHP を使用して HTTP 経由で複数のファイルを非同期にダウンロードするソリューションがますます一般的になってきています。この記事では、実際の開発事例を通して、PHP 非同期 HTTP の使用方法を詳しく分析します。

See all articles