ホームページ >ウェブフロントエンド >htmlチュートリアル >Jsoup はページ データをクロールし、HTTP メッセージ headers_html/css_WEB-ITnose を理解します
お勧めの本: ハッカー攻撃と防御技術コレクション Web 実践編
ところで、質問を残しておきます: Web または小規模なドメイン ネーム サーバーへの同時アクセスは可能ですか? jsoupを麻痺させるには?実際、jsoup に詳しい友人は、jsoup を使用して URL を解析し、非常に恥知らずな行為を行うことができます (ソース コードは機密に保たれます)。笑、JSOUP について簡単に紹介しましょう。
jsoup は、URL アドレス、HTML テキスト文字列、HTML ファイルを直接解析できる Java ベースの HTML パーサーです。これは、DOM、CSS、および jQuery のような操作メソッドを通じてデータを取得および操作するための、非常に低労力の API を提供します。
公式 Web サイトのダウンロード アドレス: http://jsoup.org/download、コア ライブラリをダウンロードします。プロジェクトをインポート
1: HTML テキスト文字列を解析
[java] プレーンコピーを表示
[java] view plain copy
HTTP メッセージ ヘッダーに関する情報をまとめました。
GET /simple.htm HTTP/1.1
受け入れる: image/gif、image/x-xbitmap、image/jpeg、image/pjpeg、application/x- Shockwave-flash、application/vnd.ms-excel、application/vnd.ms-powerpoint、application/msword、*/*
Accept-Language: zh -cn
Accept-Encoding: gzip、deflate
User-Agent: Mozilla/4.0 (互換性、MSIE 6.0、Windows NT 5.1、SV1、.NET CLR 1.1) 4322; .NET CLR 2.0.50727)
ホスト: localhost:8080
接続: Keep-Alive
返される完全な HTTP メッセージ
HTTP /1.1 200 OK
X-Powered-By: ASP.NET
日付: 2006 年 3 月 3 日金曜日 06:34 :03 GMT
Content-Length: 37
hello world
注:
HTTP リクエスト ヘッダーの概要
HTTP クライアント プログラム (ブラウザなど) は、サーバーにリクエストを送信するときにリクエスト タイプ (通常は GET または POST) を指定する必要があります。必要に応じて、クライアント プログラムは他のリクエスト ヘッダーを送信することもできます。Content-Length が POST リクエストに存在する必要がある場合を除き、ほとんどのリクエスト ヘッダーは必要ありません。 Accept: ブラウザーが受け入れることができる MIME タイプ。 Accept-Charset: ブラウザーがデコードできるデータ エンコード方式。多くの場合、ブラウザは gzip でエンコードされた HTML ページを返します。これにより、ダウンロード時間が 5 ~ 10 倍短縮されます。サーバーが複数の言語を提供できる場合に、ブラウザが期待する言語タイプです。使用されるバージョン。認可: 認可情報は通常、サーバーによって送信される WWW-Authenticate ヘッダーへの応答に表示されます。接続: 永続的な接続が必要かどうか、またはサーブレットがこの値を「Keep-Alive」と認識するかどうかを示します。リクエストでは HTTP 1.1 が使用されます (HTTP 1.1 はデフォルトで永続接続を使用します。これにより、ページに複数の要素 (アプレット、画像など) が含まれる場合に永続接続を活用でき、ダウンロード時間を大幅に短縮できます。これを実現するには、サーブレットは応答で Content-Length ヘッダーを送信する必要があります。これを実現する最も簡単な方法は、まずコンテンツを ByteArrayOutputStream に書き込み、次にコンテンツを正式に書き出す前にそのサイズを計算することです。
Content-Length: リクエストメッセージボディの長さを示します。
Cookie: これは最も重要なリクエスト ヘッダー情報の 1 つです。
From: リクエスト送信者の電子メール アドレス。一部の特別な Web クライアント プログラムで使用され、ブラウザーでは使用されません。
If-Modified-since: 指定された日付以降に変更された場合にのみ要求されたコンテンツを返し、それ以外の場合は 304 "Not Modified" 応答を返します。
プラグマ: "no-cache" 値を指定すると、サーバーは、たとえそれがプロキシ サーバーであり、既にページのローカル コピーを持っていたとしても、更新されたドキュメントを返さなければならないことを意味します。
リファラー: ユーザーが現在リクエストしているページにアクセスするための URL が含まれます。
User-Agent: ブラウザの種類。サーブレットによって返されるコンテンツがブラウザの種類に関連する場合、この値は非常に便利です。
UA-Pixels、UA-Color、UA-OS、UA-CPU: 特定のバージョンの IE ブラウザーによって送信される、画面サイズ、色深度、オペレーティング システム、CPU タイプを示す非標準のリクエスト ヘッダー。