=============================================================================== これを読む前に、必ず read1st.txt に目を通してください。 =============================================================================== GetHTMLW - Version 8.1.1〜 Copyright : Yutaka Endo (gethtmlw @ gmail . com) =============================================================================== ●目次 : 目次を追う場合は、★以下を検索してください。 ------------------------------------------------------------------------------- ★ GetHTMLW とは? : ★ プログラムと WebPage データの流れ : ★ 動作環境 : ★ プログラムの概要 : ★ インストールに関して : ★ このプログラムを簡単に理解したい方 : ★ まず初めに.....(プロキシ設定) : ★ 取得エンジンの概要 : ★ WebPage データの取得 : ★ 取得データの閲覧 : LocalWebServer : ★ 環境設定 : ★ 取得条件設定 : ★ 取得データのコピー・移動・削除 : ★ 取得の Resume 機能 : ★ 簡易ブックマーク機能 : ★ ftp:// の取得 : ★ プログラムの終了 : ★ プログラム異常終了時の対策 : ★ 認証の必要なプロキシサーバに対して : ★ 取得未完了 URL の再取得 : ★ POST method の取得 : ★ その他の機能 : ★ 動作方法: MakeHIF .hif 再構築プログラム : ★ 動作方法: ProxyChg GetHTMLW使用プロキシ変更プログラム : ★ 補足 : ★ 既知の問題 : ★ 著作権 : ★ ご利用いただいている皆さんへ : ★ 使用処理系 : ★ プログラムの置き場所 : =============================================================================== ★ GetHTMLW とは? : =============================================================================== ・このソフトは、オフラインで WebPage を閲覧するために開発しました。 ● WebPage データ(ホームページ)を階層ごと全て Get できます ● Get したデータをオフラインでも快適に閲覧できます ● ネットサーフィン時に見たデータを全て保存することもできます もちろんオフライン後も再生可能。 ・特徴 ● ホームページを階層構造ごとまるごと Get できます (Shockwave-Flash 内の追跡は対応しましたが、Java, JavaScript, その他純粋な HTML でないページには対応していません) ・掲示板等の cgi のページもかなりの確率で OK ● LocalWebServer 機能により、取得データの閲覧が簡単に ・取得データは、WWWブラウザで普通に閲覧が出来ます。WWW ブラウザの操作法は 一切変わりません。リンクの途切れもほとんど無く快適な閲覧が可能です。 ・掲示板などの多くの cgi ページも取得、閲覧が可能です。 ・Netscape3 以降なら、WWW ブラウザの環境設定は一度だけ。 以降は GetHTMLW が動いているにかかわらず、WWW ブラウザの環境設定を変更する 必要がありません。 ● 拡張 Proxy 機能(Proxy Mode 2)で、オンラインでのネットサーフィン時に 見たデータを全て保存できます。 ・まるごと Get でなく、必要なものだけ取っておきたい、場合に便利 ・もちろん、オフラインでの閲覧方法もオンライン時と同じ ◎ Proxy として使っていても、取得データをキャッシュとして使用でき、より快適な ネットサーフィンが可能になりました(ver 7 の新機能) ● 数々の動作効率化 ・WebPage データの取得は最大 10 の thread で動作します。 ・同サイトに対しては接続数を 1 に限定し、サーバへの負担を減らし、さらに残っ たスレッドを異なるサイト取得に廻すことで取得効率を上げます。 ・LocalWebServer 部も、最大 10 の thread で動作します ・Keep-Alive 通信を実装し、接続と切断のオーバヘッドを減らしています ・Resume もサポートしています。 ● 出来るだけ機能を絞り、「軽く」を目指してます ・簡素かつ必要十分な GUI ・エクスプローラ風の GUI で Get したデータ情報を一覧 ・良く使う URL をまとめる簡易ブックマーク機能 ・弱点 ●Java, JavaScript, その他純粋な HTML でないページには対応していません。 ●非常にとっつきにくいプログラムに仕上がってます(^^; しかし、使い方をマスターすれば重宝するものであると信じております:-) ●最低限の機能で「軽く」を目指してますから、不便なところも多々あります。 =============================================================================== ★ プログラムと WebPage データの流れ : ------------------------------------------------------------------------------- (1) GetHTMLW を使って、WebPage データを取得 インター +--- GetHTMLW ---+ ネット→→→→→→→GetHTML | === WWW ブラウザ | 取得エンジン | +------|↓|------+ 閲覧中も取得可能 |↓| データを貯め込みます。 (2) GetHTMLW を使って、取得 WebPage データを閲覧(LocalMode) インター +--- GetHTMLW ---+ ネット===※ | LocalWebServer→→→→→→→ WWW ブラウザ | Serverエンジン | ※無結線でもOK +------|↑|------+ 取得中も閲覧可能 |↑| 取得したデータ (3) GetHTMLW を起動したまま、インターネットを直接閲覧(ProxyMode) インター +--- GetHTMLW ---+ ネット→→→→→LocalWebServer | | Proxyエンジン→→→→→→→ WWW ブラウザ +------|↑|------+ 取得中も閲覧可能 |↑| 取得したデータ 取得したデータをキャッシュとして使い、さらに快適な閲覧を実現。 (4) GetHTMLW を起動したまま、インターネットを直接閲覧(ProxyMode2/3) インター +--- GetHTMLW ---+ ネット→→→→→LocalWebServer | | Proxyエンジン→→→→→→→ WWW ブラウザ +------|↓|------+ |↓| 取得中も可能 見たデータを貯め込んで オフライン[(2)状態]でも見れます。 同時に(3)同様取得済データを閲覧キャッシュに (5) GetHTMLW 無起動で、インターネットを直接閲覧 インター ネット→→→→→→→→→→→→→→→→→→→ WWW ブラウザ +--- GetHTMLW ---+ | | +----------------+ 自動プロキシ設定機能を使えば、GetHTMLW が動いていないときは WWW ブラウザは自動的に GetHTMLW を使いません。 (Netscape Ver.3, IE5 以降) =============================================================================== ★ 動作環境 : ------------------------------------------------------------------------------- Windows2000(SP3) にて確認しています。 Windows95, 98, NT4.0+SP3以上、でも動作報告を受けています。 TCP/IP が使用できること。 CPU は i486 以上または互換品 WWW ブラウザは Netscape Navigator(Communicator含む) Ver 3 以降、 Mozilla を推奨します。 MS のインターネットエクスプローラ(MS-IE)でも使用できますが、動作に制限が生じ ます(Ver.4以下では自動プロキシ設定が行なえません。詳細は別項参照)。 =============================================================================== ★ プログラムの概要 : ------------------------------------------------------------------------------- このプログラムは、 (1) 取得エンジン部 (2) 閲覧エンジン部 (LocalWebServer) の二つの機能があります。 取得エンジン部は、WebPage データをまるごと Get するためのものです。 URL を入力、取得条件を設定して実行すれば、データを取得、Link を解析し、ローカ ルディスク上に WebPage のデータを再現します。 閲覧エンジン部 (LocalWebServer) は、取得した WebPage データを閲覧するためのも のです。プロキシサーバとして使い、WWW ブラウザでつつくことにより、あたかもオン ラインでネットサーフィンするかのごとく閲覧できます。 また、LocalWebServer 部にプロキシ機能(中継機能)があるので、WWW ブラウザのプロ キシを GetHTMLW にすれば、LocalWebServer を使った保存データの閲覧から、 インターネットを直接閲覧へ変更するとき、WWW ブラウザを再起動させたり、プロキシ 設定を変更する必要がありません。 しかも、自動プロキシ設定機能を使えば、GetHTMLW が動いていてもいなくても、 ブラウザの設定変更は一切いりません。 ※注意※------------------------------------------------------------+ | 自動プロキシ設定の使用は、主に Netscape Navigator 3.x 4.x | | (含む Communicator)を対象にしています。 | | MS-IE Ver.4 以下では、LocalWebServer 起動時と、停止時の Proxy 設 | | 定を IE 側で切り替えねばなりません。 | | IE Ver.5 では自動プロキシ設定が使えるようです。 | +-------------------------------------------------------------------+ さらに、「拡張プロキシモード」(Proxy Mode 2) を使えば、WWW ブラウザ で見たデータを自動的に LocalWebServer で保存できます。 これにより、WWW ブラウザでネットサーフィンするだけで、回線を切った後 でもネットサーフィンしたデータを見ることが出来ます。 RFC-1945, RFC-2068, RFC-959 を参考にしています。 Shockwave-Flash 内のリンク追跡は、Macromedia 社サイト内の Shockwave-Flash のフォーマットに関する情報を参考にしています。 =============================================================================== ★ インストールに関して : ------------------------------------------------------------------------------- ・簡単インストールをお望みの方は.... Atsushi Yamashita さん(atsushi@webs.to) が作成してくれたインストーラが ありますので、下記のページからダウンロードしてお使い下さい。 http://hp.vector.co.jp/authors/VA022542/ghw/OptionPack.html ・その他情報をお望みの方は.... * john さん, toihito さん が作成してくれた FAQ, 問答集があります。 GetHTMLW のページからダウンロードできます。 * Atsushi Yamashita さん(atsushi@webs.to) が作成してくれた HelpFile があります。Atsushi Yamashita さんの下記のページからダウンロードできます。 http://hp.vector.co.jp/authors/VA022542/ghw/help.lzh -------------------------------------- ・このプログラムのパッケージは gethtmlw.exe : プログラム pickswf.dll : Shockwave-Flash 内リンク追跡用 DLL gethtml.mtf : データタイプ定義ファイル gethtml.mcf : 同時取得制御管理ファイル makehif.exe : .hif ファイル再構築プログラム proxychg.exe : GetHTMLW 使用プロキシ変更プログラム gethtmlw.txt : このファイル gethtmlw.ver : プログラム更新履歴情報を記述したテキスト read1st.txt : バージョンアップでの仕様変更に関する注意文書 バージョンアップする場合には必ず読んでください。 の 8つです。これを、 .exe ファイル=> これから取得する WebPage データを貯めるディレクトリ pickswf.dll => これから取得する WebPage データを貯めるディレクトリ (ただし、Shockwave-Flash 内のリンク追跡を必要としない場合は不要) gethtml.mtf => gethtmlw.exe と同じディレクトリ に移します。他は消して結構です。 取得した WebPage データは gethtmlw.exe のあるディレクトリ以下に保存 されます。また、取得時の履歴データとして、gethtml.hif というファイ ルが同ディレクトリに作成されますので消さないでください。 環境設定のファイルは、 ・取得設定に関しては、WebPage データを貯めるディレクトリに gethtmlw.cfとして、 ・それ以外はWindows ディレクトリに gethtmlw.ini として 保存されます。 ・LocalWebServer 機能を使う場合は、 Windows ディレクトリに、proxycfg.pac を作成します。 レジストリは一切使用しません。 ★付加情報★-----------------------------------------------------------★ | プログラムの起動時に、コマンドラインオプション "-cd" を付加すると、| |上記 gethtmlw.ini と proxycfg.pac は、プログラムの起動ディレクトリに | |作成、アクセスされます。 | ★---------------------------------------------------------------------★ また、このプログラムは WebPage データを取得するときにテンポラリファ イルを作成します。通常は gethtmlw.exe を実行したディレクトリに作成 されますが、これを変更したい場合、環境変数 TMP にテンポラリファイル を作るディレクトリを指定してください。 (例) set TMP=c:\windows\temp c:\windows\temp ディレクトリ以下にテンポラリファイルを作成します。 アンインストールする場合は、 ・解凍したプログラム、および同ディレクトリ内のファイルを全て消す ・Windows ディレクトリにある gethtmlw.ini proxycfg.pac を消す (これはプログラムが作るので、無いかもしれません) =============================================================================== ★ このプログラムを簡単に理解したい方 : ------------------------------------------------------------------------------- 残念ながらこのプログラムは使い勝手を考慮するところまで手が届いておりません。 しかしながら、ユーザの方々のご協力で、このプログラムを簡単に理解するための ドキュメントが用意されています。是非ご利用ください。 # Atsushi Yamashita さん、John Smith さん、toihito さん、その他プログラムの # 改良にご協力いただいた方々に感謝します。 ・簡単インストールをお望みの方は.... Atsushi Yamashita さん(atsushi@webs.to) が作成してくれたインストーラが ありますので、下記のページからダウンロードしてお使い下さい。 http://hp.vector.co.jp/authors/VA022542/ghw/OptionPack.html ・その他情報をお望みの方は.... * john さん, toihito さん が作成してくれた FAQ, 問答集があります。 GetHTMLW のページからダウンロードできます。 * Atsushi Yamashita さん(atsushi@webs.to) が作成してくれた HelpFile があります。Atsushi Yamashita さんの下記のページからダウンロードできます。 http://hp.vector.co.jp/authors/VA022542/ghw/help.lzh =============================================================================== ★ まず初めに.....(プロキシ設定) : ------------------------------------------------------------------------------- まず、GetHTMLW を動かしてください。 「設定(C)」→「ISP-Proxy設定(P)」にて、GetHTMLW が使用するプロキシを設定してく ださい。 通常プロバイダと契約してインターネットサーフィンする場合にはプロキシが不要な 場合が多いので、その場合は設定は不要です。 設定の詳細は以下ですが、ダイアログを見れば大体分かると思います。 「設定(C)」→「環境設定(C)」で表示される環境設定ダイアログの 「プロキシ設定」ボタンを押すとプロキシ設定用ダイアログが出ます。 各プロトコル(http, https, ftp, wais, gopher)用のプロキシ(サーバ)を 設定する。設定するプロキシは、取得時や、WWWブラウザが直接インター ネットとアクセスするのに使用するプロキシで、プロバイダが指定するア ドレス・ポートを指定する。 プロキシを使用しない場合は、アドレス欄は空白(無入力)にしておくか、 ポート番号を 0 にする。 「イントラネット用プロキシ使用 IP マスク」は、イントラネット内に アクセスする場合のみプロキシを使用しないようにするためのもので、 イントラネット内の IP アドレスを入力する。 (イントラネットとは、会社内で使用するネットワークと考えてよい) 通常(家庭での使用)は、使用せず、全て「0」で埋めておく。 この機能を使用する場合、大抵は左から三つめは「0」のままとする。 各欄記入をし、「OK」ボタンを押します。 ここで、以下のようなメッセージボックスが出ます。 +----------------------------------------+ | WWWブラウザの自動プロキシ設定のURL欄に | | file://c:/windows/proxycfg.pac | <=== これが重要 | と記入してください。 | | | この file:// を覚えておいてください。 (WWWブラウザが Netscape Navigator/Communicator の場合に使用します MS-IE Ver.4 以下ではこの手法が使えないようです。IE Ver.5 では使えるようです) =============================================================================== ★ 取得エンジンの概要 : ------------------------------------------------------------------------------- 取得した html ページの、tag の中の、 などに指定された WebPage データを取得します。 注: は、ver 1.6.0 から対応した。 は、ver 2.6.0 から対応。 また、
も追跡しますが、cgi に渡す entity が長すぎたり、 入力を必要とする tag ( 等) は追いません。 .css(CascadeStyleSheet) 内の追跡や、STYLE tag も追跡します。 (Ver.7.3.0(a)より対応) 全ての Link を追跡するわけではありません。取得指定の URL が例えば http://www.aaa.bbb.ac.kp/~dddd/index.html の場合、基本的には "http://www.aaa.bbb.ac.kp/~dddd/" 以下の階層にあるリンクしか追跡せず、データも取得しません。これは際限 なくリンクを追って、不要なデータまで取得することを防ぐためです。 また、 "mailto:...", で記述されたデータは取得しません。 ftp:// も取得できますが、制限事項がありますので、下記の 「ftp:// の取得」をお読みください。 cgi の呼び出しはうまく再現されないことがあります。 Java(Script) 等の HTML でない Page は、ほとんど取得できません。 =============================================================================== ★ WebPage データの取得 : ------------------------------------------------------------------------------- 「動作(A)」→「WebPage取得(W)」で表示されるダイアログボックスにて 「URL」とかいてあるコンボボックスに得たい URL を記述します 例: http://www2s.biglobe.ne.jp/~pockey/ そして、「実行」ボタンを押せばデータ受信を始めます。 また、プログラムが置いてある場所の下にディレクトリを作り、データを保存します。 上記の例の場合、 プログラムのある場所\www2s.biglobe.ne.jp\~pockey というディレクトリが作られ、WebPage の内容によってさらに下方のディレクトリが作 られます。 WebPage データを取得し終わると、gethtml.hif ファイルを出力します。 gethtml.hif ファイルは、WebPage のサーバ(httpd)と交信した履歴が残っており、 次回同じ WebPage を取得するとき、更新調査を行って 不必要な Page データ取得を防 いだり、LocalWebServer で使用されます。削除しないでください。 らに、ウィンドウに取得した WebPage データのファイル構造が表示されます。 このツリー表示を選択して、「動作(A)」→「選択URLを取得(G)」を実行すると、選択 された URL にて WebPage データを取得できます。同様の処理は右クリックメニューで も可能です。 また、インターネットショートカットをウィンドウにドロップすることで、取得を開始 できます。 ---------------------------------- ・[条件設定後実行] による取得実行 「動作(A)」→「WebPage取得(W)」で表示されるダイアログボックスにて 「条件設定後実行」ボタンを押すと、「WebPage 取得条件設定」ダイアログが出、取得 指定した URL だけに適用する取得条件を設定することが出来ます。 ---------------------------------- 取得実行中でも、取得 URL を追加することが出来ます ---------------------------------- ------------------------------------------------------------------------------- ・複数 URL 指定取得 ------------------------------------------------------------------------------- 一度に取得したい WebPage の URL を複数セットして一気に取得したい場合に 使います。 「動作(A)」→「複数URL指定取得(M)」を選びます。 そこで出てくるダイアログで、[URL]コンボボックスで取得する URL を入力、 「追加」ボタンで下のリストボックスに列挙させます。 ・取得条件は、URL ごとの取得設定が反映されます。URL ごとの取得設定がない場合は デフォルトの取得設定が反映されます。 ・今回指定した URL を保存しておくなら、メニューで保存を実行。 ・前回指定した URL を読み込むなら、メニューで読込を実行。 ここで保存した「複数URL設定ファイル(*.mus)」を、URLツリーウィンドウ等に ドロップすると、保存内容が反映された取得要求が起きます。 取得 URL や、取得条件設定が終わったら、「取得」を押すと取得を開始します。 これ以降は従来の「WebPage取得」の動きと同じです。 ------------------------------------------------------------------------------- ・クリップボードの URL 取得 ------------------------------------------------------------------------------- ver 6.10 より、クリップボードに列挙された URL のデータ取得が出来ます。 もしクリップボードに URL(改行) URL(改行) ....以下同じ のようなフォーマットでクリップボードに URL が列挙されている場合、 (例えば、Netscape のブックマークを幾つか選択して Copy した時など) 「クリップボードの URL 取得」を選択することによって取得用ダイアログが開きます。 URL が複数ある場合は複数 URL 指定取得用ダイアログが、ひとつの場合は通常の取得 用ダイアログ(URL入力を促すもの)が開きます。 クリップボードの URL 記述が正しくない場合、取得用ダイアログは開きません。 ------------------------------------------------------------------------------- ・WebPageデータ取得中のダイアログ [取得状況ダイアログ] について ------------------------------------------------------------------------------- 取得の実行を行なうと、取得状況を表示するダイアログがでます。 ここでは、取得中の URL、取得済みデータ数(バイト)とステータス、 html 解析 URL などが表示されると共に、 ・自動リトライの回数設定 ・ダイアルアップ接続の自動切断 ・取得スレッド毎の強制終了 ・全ての取得の強制終了 が行なえます。 ---------------------------------- ・自動リトライの回数設定 取得に失敗したが、リトライ(再取得)を行なうことでデータを取得できる 可能性がある URL を自動的にリトライ(再取得)させる回数を指定します。 取得中にラジオボタンで操作します。 0 なら、自動リトライはしません。 1 〜 3 なら、その回数だけ自動リトライを行なうます。 ∞ は、取得が完了するまで自動リトライし続けますが、完了する保証はあ りませんのでチェック時は注意してください。 ---------------------------------- ・ダイアルアップ接続の自動切断 ダイアルアップ接続で取得している場合、「取得が終了した時点」で接続を 切るオプションです。取得中にチェックボックスで操作します。 「取得が終了した時点」つまり自動切断される場面ですが、 ・自動リトライが設定されていない場合は、取得が一旦終了した時点。 取得が完了せず、リトライがありうる場合にも、取得リトライダイアログ が出る「前」に、切断されます。 ・自動リトライが設定されている場合は、設定したリトライ回が終了した時 点。自動リトライを行なっている間は切断されません。 自動リトライ期間が終わって、取得が完了せず、さらにリトライがありう る場合にも、取得リトライダイアログが出る「前」に、切断されます。 PC の種類やソフトウエアのインストール環境によっては、自動切断がなされ ないことがあるかもしれません。うまく機能しないことによる電話代・接続 料の浪費にはご注意下さい。 ---------------------------------- ・取得スレッド毎の強制終了 強制終了させたい取得スレッドの Status 表示部分(各取得中 URL を示す欄 の右にある「Status」欄)をダブルクリックすると、終了する旨を聞いてきま す。 この強制終了は、プログラム動作を不安定にする可能性がありますので、 強制終了後は速やかにプログラムを終了させることをおすすめします。 (不具合報告はほとんどないようですが、システム的にはありうるのです)。 ---------------------------------- ・全ての取得の強制終了 取得状況ダイアログの右上の[X]部分(一般的に Windows のプログラムを終 了させるボタン)を押すと、現在進行中の取得全てを止めることができます。 この[X]部分を押す回数によって、強制終了動作が変わります。 [1回] 現在取得中の全スレッドが正常終了するまで待ち、直ちに終了します。 [2回] 直ちに全取得中スレッドを強制破棄し、終了します。スレッドを強制破棄すると、 プログラム動作を不安定にする可能性がありますので、強制終了後は速やかにプロ グラムを終了させることをおすすめします。 (不具合報告はほとんどないようですが、システム的にはありうるのです)。 ------------------------------------------------------------------------------- ・取得条件設定後の取得実行 ------------------------------------------------------------------------------- WebPage データ取得時の URL 指定ダイアログにて、「条件設定後実行」 を選択すると、取得条件を設定した後に、指定 URL の データ取得が行えます。 ここでの取得条件設定は、「環境設定」で成されるデフォルト取得条件を変化させない ため、特定の URL のみ取得条件を変更してから、取得実行したい場合に有効です。 -------------------------------------------------------------------------------・作業の終了後 ------------------------------------------------------------------------------- ・正常にすべての WebPage データが取得できた場合、 「取得作業が完了しました」のメッセージボックスが表示されます。 ・途中で中断した場合、 「強制終了しますか?」のメッセージボックスが表示されます。 ・取得できなかった WebPage データが存在する場合、Retry ダイアログボックスが現 れ、取得できなかった URL が表示されます。 Retry を行う場合、エラーList から Retry List に URL を移し、 (URL をダブルクリックするか、[Add All]ボタンを押す) [Retry]ボタンを押すと、再度データ取得を始めます。 「サーバにデータ自体がない」場合は、Retry 出来ません。 ・環境設定情報、WebPageデータ取得履歴情報用に、 gethtmlw.ini を Windows ディレクトリに(これはカレントディレクトリに場所変更 できます) gethtml.hif をカレントディレクトリに残します。 =============================================================================== ★ 取得データの閲覧 : LocalWebServer : ------------------------------------------------------------------------------- 取得したデータの閲覧は、 (1)LocalWebServer を作動させて、通常通りに WWW ブラウザで閲覧するように、 取得データを閲覧する方法。 (2)取得したデータをファイルとして扱い、閲覧する方法。 の二通りあります。ただし、(2)だとリンクの関係で閲覧に制限が生じるの で、(1) で閲覧することで、忠実に再現することが出来ます。 (1) は LocalWebServer 機能により実現してます。 LocalWebServer は、GetHTMLW に実装された、取得 WebPage データ閲覧用の WebServer です。 WWW ブラウザのプロキシを GetHTMLW にすることで、オンラインの閲覧と同じ感覚で 取得された WebPage を閲覧できます。 一方、単なるスルーのプロキシにもなり、今まで通りのオンラインネットサーフィンの 邪魔をしません。さらに、アクセスした WebPage データを全て保存する拡張プロキシ 機能もあります。 さらに、スルーのプロキシとして使用した場合にも、取得 WebPage データを キャッシュとして利用し、効率的な Web 閲覧を行う機能も盛り込んでます。 LocalWebServer 機能には、以下のモードがあります * LocalMode * 取得した WebPage データと gethtml.hif を元に、WWW ブラウザでの WebPageデータ の閲覧が行なえます。 * ProxyMode * スルーのプロキシとなり、WWW ブラウザにてオンラインネットサーフィンが可能に。 * ProxyMode2 * 拡張プロキシモード。ProxyMode と同様にスルーのプロキシですが、アクセスした WebPage データを全て保存し、オフラインでもローカルモードでの閲覧が可能になり ます。既に WebPage データと gethtml.hif がある場合、追加されていきます。 また、上記 ProxyMode(2を含む) にはプロキシとして働いているときに、取得済データ をキャッシュとして利用することが出来るように、以下のモードを持っています。 (このモード変更は環境設定でのみ行えます。) * モード 0 * 各プロキシモード時に、取得済データを利用しません。 * モード 1 * 各プロキシモード時に、取得済データが存在した場合は、それを WWW ブラウザに渡 し、無いときにだけ外部(ネット上)にデータを参照しに行きます。 * モード 2 * 各プロキシモード時に、取得済データが未更新なら、それを WWW ブラウザに渡し、 更新されていれば外部データを参照します。 具体的には以下のプロセスをたどります。 (a) リロード要求であれば、外部にデータを参照しに行きます。 (b) 取得済データがなければ、外部にデータを参照しに行きます。 (c) 取得済データに更新時刻に関する情報が含まれていなければ、外部にデータを 参照しに行きます。 (d) 取得済データの更新時刻より、WWW ブラウザが持っている更新時刻の方が新し い場合、外部にデータを参照しに行きます。 (e) 取得済データの更新時刻により更新チェックを行い、データが更新されていれ ば、外部データを参照しブラウザに渡します。 (f) (e)更新チェックにてデータが更新されていなければ、取得済データをブラウ ザに渡します。 以下、上記 (1), (2) による取得データの閲覧方法を説明します。 ------------------------------------------------------------------------------- (1)LocalWebServer を動作させて閲覧する方法 ------------------------------------------------------------------------------- ※ Netscape Navigator(含む Communicator) 3, IE5 の場合 ※ ------------------------------------------------------------------------------- <0> 使用するプロキシを設定します。 上記の「まず初めに.....」の通り、プロキシ設定をします。 各欄記入をし、「OK」ボタンを押します。 ここで、以下のようなメッセージボックスが出ます。 +----------------------------------------+ | WWWブラウザの自動プロキシ設定のURL欄に | | file://c:/windows/proxycfg.pac | <=== これが重要 | と記入してください。 | | | この「file://うんぬん」を覚えておいてください。 ------------------------- <1>まず、WWWブラウザの プロキシ設定を行います。 Netscape の プロキシ設定において、 プロキシ自動設定の項目を選択し、プロキシ自動設定のURLの欄に、 先の file:// の一文を入力してください。 例: (Windows ディレクトリが a:\win の場合) file://a:/win/proxycfg.pac 例: (Windows ディレクトリが c:\windows の場合) file://c:/windows/proxycfg.pac Windows ディレクトリとは、Windows 自体がインストールされているディ レクトリのことで、 多くの IBM PC 互換機(いわゆる DOS/V機) の場合、c:\windows で、 NEC PC-9801, PC-9821 の場合は、a:\windows である事が多い。 ※注※ コマンドラインオプション "-cd" 指定時は、Windows ディレクトリでなく、 プログラム起動ディレクトリになります。 ※※※※ IE5 の場合は(作者「けいじばん」にて、「時司」さんの御報告) ※※※※※ ※ ※ 1.コントロールパネルのインターネットオプションを選択する。 ※ 2.「接続」タブ内の「LANの設定」ボタンを選択する。 ※ 3.ローカルエリアネットワーク(LAN)の設定の ※ 「設定を自動的に検出する」のチェックをオンに、 ※   「自動設定のスクリプトを使用する」のチェックをオンし、 ※   アドレス項目に proxycfg.pac のある場所を記入する。 ※    ex)file://c:/windows/proxycfg.pac ※ これは、ダイアルアップ接続での使用の場合でも設定してください。 ※ 特に、ダイアルアップ接続のみの場合は、 ※ 「プロキシサーバを使用する」のチェックをオンにし、 ※ 「詳細」ボタンを押し、「HTTP」の欄の、 ※ 「使用するプロキシのアドレス」に「localhost」を記入、 ※ 「ポート」に「18080」を記入します。 ※ 4.ダイアルアップ接続で使用の場合は、「インターネットオプション」内の ※ 「接続」タブ内の「ダイアルアップの設定」において、 ※ 「接続しない」にチェックを入れる ※ これでは自動的にダイアルアップのダイアログが出ず、不自由ですが、 ※ この設定でしか IE5 で LocalWebServer を使う方法はないようです。 ※ (この項は「Keichiro Katayama」さんの情報を元にしています) ※ また、ダイアルアップ先の個々の設定においても、 ※ 「設定を自動的に検出する」のチェックをオンに、 ※   「自動設定のスクリプトを使用する」のチェックをオンし、 ※   アドレス項目に proxycfg.pac のある場所を記入する。 ※    ex)file://c:/windows/proxycfg.pac ※ 5.ここで IE5 で「オフライン作業」というダイアログが出てくる場合は、 ※ 「再試行」を選択してください。 ※ ※ 上記の設定が反映されない場合は、IE5 を再起動したり、Windows を再起動 ※ してみてください。 ※ ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ ------------------------- <2> GetHTMLW において、メニューの一番右の項目を選択し、 「LocalMode」を選択します。これで GetHTMLW が取得した WebPage データを閲覧できます。 ------------------------- <3> GetHTMLW で先に取得した URL を WWW ブラウザに入力して閲覧します。 閲覧時は、Netscape 等のブラウザで URL を指定すれば閲覧できます。 (ブラウザで、「http://www2s.biglobe.ne.jp/~pockey/」と指定すれば、 前にとってきたデータをオフライン状態で見ることが出来る) このとき、「ダイアルアップの接続」ダイアログが表示されることがありま すが、「キャンセル」を選択して接続をしません。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ また、閲覧したい URL をウィンドウのツリー表示にて選択(左クリック)し、 「動作(A)」→「URL として開く」を選択すると、自動的に LocalWebServer を動作させ、WWWブラウザが起動し閲覧を開始できます。 同様なことが右クリックメニューでも可能です。この場合には、上記 <2> は 省略できます(自動的に LocalWebServer が LocalMode になる)。 ----------< 付加情報 >---------- 通常、ブックマークや URL ツリーのいずれかを選択し、「URLとして開く」 を選択した場合(ダブルクリック等も含む)、LocalWebServer は LocalMode となり、既に取得してある WebPage データの閲覧となります が、[ALT] Key を押しながら「URLとして開く」を実行した場合(ダブル クリック等も含む)、LocalWebServer のモードを切り替えずにWWWブラウザ が起動されます。 ----------< 付加情報 >---------- 以上です。 こうすることで、このプログラムが Webサイトのような振る舞いをし、WWW ブラウザにて ・取得データの閲覧、 ・インターネットの直接閲覧 が自在に行えます。しかも、GetHTMLW が動作していなくても、Netscape の 設定を変えずに使用できます。 ※注意※ Netscape を動作させたまま GetHTMLW を起動、終了させた場合は無効です。 Netscape を立ち上げる前に、GetHTMLW を立ち上げておくか、終了させてお くかしてください)。 LocalWebServer 使用時には、 取得データの閲覧時には、LocalWebServer のモードを「LocalMode」に、 インターネット直接閲覧時は「ProxyMode」になっている必要があります。 (「URLとして開く」を選択して WWWブラウザで閲覧する場合には自動切替が 働きます) ------------------------------------------------------------------------------- ※ その他のブラウザ (MS-IE Ver.4 以下、JustView 等)の場合 ※ ------------------------------------------------------------------------------- WWW ブラウザのプロキシ設定において、 (1) http プロキシの アドレス: 127.0.0.1 ポート : 18080 (環境設定で設定されている LocalWebServer のポート) とします (2)「プロキシを使用しない」欄に、 127.0.0.1 を書き加えます。 この方法は、GetHTMLW が起動されていない場合、WWW ブラウザはインター ネットと通信できませんので、GetHTMLW が起動されていない場合にWWW ブラ ウザを使用するときは、プロキシ設定を元に戻してください。 ------------------------------------------------------------------------------- プロキシ自動設定ファイル(proxycfg.pac)について ※ Netscape3/IE5 以上専用 ※ ------------------------------------------------------------------------------- GetHTMLW では、プロキシ自動設定ファイルを使用することによって、GetHTMLW が起動 しているときと、そうでないときの プロキシの変更を自動化しています。 GetHTMLW では、LocalWebServer部の起動時、終了時に、proxycfg.pac という プロキシ自動設定ファイルを出力しますので、これを利用すれば、Netscape で プロキシの設定をいちいちやり直す必要はありません。 このようにすれば、 LocalWebServer部が動作しているとき(ProxyMode, LocalMode)は、 → プロキシServer を 127.0.0.1、Port を 18080 に、 LocalWebServer 停止中は、 → プロキシServer を従来通りの設定に(もちろん使用しない設定も可能) と自動切り替えが出来るのです。 NetscapeNavigator には、プロキシ自動設定ファイルを使って プロキシ設定を行う 方法があります。プロキシの設定の項目には、「使わない」「手動設定」「自動設定」 と三項目ありますが、一番下の「自動設定」のことです。 IE3 以降にもこの機能はありますが、IE3, IE4 は、「ファイル」をプロキシ自動設定 として読み込ませることが出来ないため、この方式は使えません。IE5 なら OK です。 ------------------------------------------------------------------------------- (2) 取得した WebPage データをファイルとして閲覧する方法 ------------------------------------------------------------------------------- 取得した WebPage データがファイルとなっていますので、そのファイルを閲覧するも のです。閲覧が簡単にできる(プロキシ設定が不要)ですが、忠実に再現できないことが (多く)ありますので、(1)のLocalWebServer を是非使ってください。 <1>ウィンドウのツリー表示で閲覧したい URL を選択(左クリック)し、 「動作(A)」→「ファイルとして開く(F)」を選択すると、WWWブラウザが起動し閲覧を 開始できます。 (ただし、.html .gif .cgi .jpg 等閲覧するファイルの拡張子が関連付けされている 必要が有り、また cgi の結果などは閲覧できません。この場合はステータスバーに 「アプリケーションエラー」が表示されます。 同様なことが右クリックメニューでも可能です。 最終手段は、エクスプローラやファイルマネージャで、取得したデータファイルを直接 WWWブラウザに読み込ませてください(手っ取り早いのがドラッグ&ドロップ)。 ------------------------------------------------------------------------------- ・WWWブラウザで「Reload」を行なった場合の LocalWebServer の動作 ------------------------------------------------------------------------------- LocalWebServer を LocalMode で動かしているとき、WWW ブラウザで 「Reload」ボタンを押す等 Reload を行なった場合、取得ダイアログを出し たり、LocalWebServer のモード変更などが行なえるページが出ますので、 ページに従ってください(Netscape 3.x, IE 3.x 以降で確認)。 なお、このページは、 ・閲覧しているページが既に取得済みであり ・html文章であること(gif などを Reload してもページは出ない) の場合に出ます。 また、LocalWebServer が動いているマシン以外から LocalWebServer に 対し Reload を行なった場合、出てくるモード変更ページをクリックしても 正常に動作しません。これは、自分のマシン外からのアクセスを考慮に入れ ていないためです。 (他のマシンで動いている LocalWebServer を、単なる閲覧や、Proxy とし て使用するには問題は起きません) ------------------------------------------------------------------------------- ・WebPageデータを開いた(閲覧)時の 「ブラウザ(アプリケーション)起動エラー」について ------------------------------------------------------------------------------- WebPage データを閲覧するときの「ファイルとして開く」や、「URL として開く」は、 Windows の「アプリケーションとファイル名(拡張子)の関連付け」の機能に頼っていま す。 よって、「ブラウザ(アプリケーション)起動エラー」(URLツリーウィンドウの最下位、 ステータスバー内に出る)が発生して WWWブラウザ等が起動されずに閲覧できない 場合、そのエラー番号に関わらず 「アプリケーションとファイル名(拡張子)の関連付け」がおかしいケースがほとんど です。この関連付けを修正するには、WWWブラウザの再インストールが一番確実な方法 ですが、それでも直らない場合は、以下のページ http://www.geocities.co.jp/SiliconValley/2040/ 「ウィンドウズ処方箋」 に有効な記述があるようです。 =============================================================================== ★ 環境設定 : ------------------------------------------------------------------------------- メニューの「設定(C)」→「環境設定(C)」を選択すると、環境設定が行えま す。 -------------------------------- ・[/ のファイル名] / で終わっている URL の WebPage データのファイル名を指定します。 例えば、URL が http://www2s.biglobe.ne.jp/~pockey/ の場合、得られたデータをどんな名前で保存すればよいか分かりません。 通常の場合、 www2s.biglobe.ne.jp\~pockey\index.html なのですが、httpサーバに よって違い(MS のサーバは default.htm等)ますので、ここで指定します。 index.html にしておくのが無難でしょう。 ------------------------------- ・[取得時タイムアウト] 取得の接続タイムアウト時間(秒)を設定します。 デフォルトでは 180 秒です。0 だと、タイムアウト時間が無限大となりま す。 ------------------------------- ・[取得リトライ数] 取得が何らかの理由で失敗した(取得途中で通信が途絶えたなど)場合に、 自動的に再取得する回数を設定します。 以前のバージョンでは一旦全取得を終えた後にリトライの必要なものだけを 再取得していましたが(リトライ数の設定も取得状況ダイアログにあった)、 現在ではリトライは取得失敗後、他の URL の通常取得と同時に行います。 -------------------------------- ・[取得データ長の上限] 取得データ長の上限値を KB 単位(1024byte)で指定します。 上限チェックをしない場合、"0" を指定します。 取得データ長がここで指定した値より大きかった場合は、直ちに取得を中止し、 既に取得された部分のデータは破棄され、エラー(リトライ)リストにも列挙されませ ん。 また、LocalWebServer の ProxyMode2 でのデータ保存は、ここでの設定値の影響を 受けません。 -------------------------------- ・[取得時スレッド数] スライダ 取得時の最大スレッド数を決定します。通常は 8 でいいでしょう。 -------------------------------- ・[URLTreeダブルクリック時の動作] URLツリーをダブルクリックしたときに行う動作を決定します。これを設定 すると、リターンキー(SHIFT を同時に押す)でも設定した動作をするように なります。 -------------------------------- ・[Cookie: 情報を保存する] 取得データ(ProxyMode2 含む)に Cookie: 情報があった場合に、Cookie: 情報を 保存します。 -------------------------------- ・[LocalWebServer Configuration」の項目 ... Server 設定 -------------------------------- ・[LocalWebServerスレッド数] スライダ LocalWebServer 部の最大スレッド数を決定します。通常は 4 で十分です。 ProxyMode にして WWWブラウザをたくさん立ちあげてばんばんアクセスす るときなとは、多めにしてください。 -------------------------------- ・[Server Port] このプログラムの Server が使用する Port No.を指定します。 標準では、18080としましたが、不都合がある場合は変更してください。 -------------------------------- ・[ブラウザReloadボタンで選択ページ] LocalWebServer が LocalMode の時、ブラウザのリロードボタンを押したときに 「単なるリロード」か「そのURLを取得する」か 「LocalWebServer のモードを変える」かなどを選択するページを表示するかを設定 します。 -------------------------------- ・[POSTmethodも保存する] ProxyMode2 時に、POSTmethod(ブラウザ等でボタンを押して送信する場合など) 時のWebPageデータを保存する場合にチェックします。 この場合、保存 URL は、実際の URL の後に ? が付加され、更にその後に WebServer に送信された内容が追加されたものになります。 URL + ? + 送信内容が規定のデータ長(Ver.7.7.5時点で 1535文字)を 超えた場合は保存されません。また、送信内容部分に改行等の制御文字(20h以下) を含んでいた場合も保存されません。 (注:ブラウザ等でボタンを押して送信する場合の全てが POST method とは限りま せん) -------------------------------- ・3つのラジオボタン GetHTMLW が起動した直後の LocalWebServer の動作を決めます。 ・停止: LocalWebServer は Proxy 機能、Server 機能も働きません。 ・LocalMode : WWW ブラウザが取得した WebPage データを閲覧できる モードにします。 ・ProxyMode : WWW ブラウザが直接インターネットを閲覧できるモードにします。 ・ProxyMode2 : WWW ブラウザが直接インターネットを閲覧でき、 しかも閲覧したデータを保存するモードにします。 -------------------------------- ・「ProxyMode での取得データ使用」 ProxyMode(Mode2 を含む)にて、取得済データをキャッシュとして使用する モード設定を行います。できます。 ・「使用しない」→従来と同じく、取得済データを参照せず、必ず外部にデータを 参照しに行きます。 ・「必ず使用する」→取得済データがあれば、必ず取得済データを参照し、なけれ ば外部にデータを参照しに行きます。 ・「更新チェックあり」→データに更新がなければ、取得済データを参照し、更新 されていれば外部データを参照します。 上記の詳細については「取得データの閲覧 : LocalWebServer」の項をご覧ください。 -------------------------------- ・[FTP パスワード] ftp:// を取得するときに使用する、anonymous アカウントに対する パスワードを設定します。通常は自分のメールアドレスとします。 くわしくは下記の「ftp:// の取得」項を見てください。 -------------------------------- ・[データディレクトリ] 取得した WebPage データと、gethtml.hif 取得履歴ファイル などを保存、 参照するディレクトリを決定します。 通常は空白のままにしておきます。 この場合、上記データは、プログラムを実行したディレクトリ(実行ファイ ルそのものをダブルクリックした場合、そのディレクトリ。ショートカット で実行した場合、ショートカットの作業ディレクトリ)に保存されます。 このディレクトリを変更するときは、右にある「参照」ボタンを押して、 ディレクトリをブラウズさせて決定してください。 ※注意※--------------------------------------- |このディレクトリは、絶対に存在するディレクトリを指定してください。 |ここの記述を誤った場合の動作は予測できませんので、十分注意して |設定してください。 データディレクトリが複数存在する場合、以下のアクセス方法があります。 (1) この「データディレクトリ」のディレクトリを変更する方法 (2) 「データディレクトリ」は空白にしておけば、gethtmlw.exe の ショートカットを作り、ショートカットの「プロパティ」の 「作業フォルダ」をデータディレクトリにすることで、ショートカッ ト毎に参照させるデータディレクトリを変えることが出来ます。 データディレクトリを設定してしまうと、上記(2)のショートカットで指定 した作業ディレクトリは無効になります。 =============================================================================== ★ 取得条件設定 : ------------------------------------------------------------------------------- メニューの「設定(C)」→「取得条件設定(G)」を選択すると、デフォルトの 取得条件を設定できます。 また、WebPage データ取得時や、Bookmark の右クリックメニュー「取得条件 の確認」にて、URL 毎の取得条件が設定できます。 以下、取得条件設定ダイアログについて。 -------------------------------- ・[拡張子/文字列フィルタを使う] 特定の拡張子、または文字列を含む URL のデータ取得をコントロールします。 右の[フィルタ編集]ボタンを押して、拡張子/文字列チェックの記述 (フィルタ)の編集を行ないます。 このチェックボックスをチェックすれば、記述されたフィルタが有効にな ります。 拡張子/文字列フィルタの書式: 取得レベル(0〜F) : 拡張子(文字列)指定 [空白] 拡張子(文字列)指定 ..... (一行内で指定してください) <<取得レベル>> 取得レベルは 2進数の各ビットごとに意味を持っています。 取得レベル指定としては、16進数(0-Fの範囲)で指定します。 1bit目(LSB): "1" の場合、フィルタに該当したら許容 URL 階層範囲で取得します (これは、どのフィルタにも該当しないで通り抜けることと同じですが、 あえてこの条件に合致させることにより、この条件以下に記述された フィルタ指定に合致させない、という場合に使用します) 2bit目 : "1" の場合、フィルタに該当したら URL が許容 URL 階層外でも 取得します 3bit目 : "1" の場合、取得時旧データがあったら別名で保存します。 (旧データの保存詳細はオプション[旧データを保存」参照のこと) 4bit目 : "1" の場合、フィルタに該当したら取得階層深度指定を超えても取得し ます。例えば、特定のページのみを取得したいが(取得階層深度設定を 1 にする)、そのページに張られた特定のリンク(で記述 された "xx")だけも取得したい場合に使えます。 もしどの bit も "0" であった場合 (0000b = "0")、フィルタに該当したら 取得をしない、という設定になります。 <<拡張子(文字列)指定>> 拡張子の記述方法は、拡張子文字の頭に . を付けます。 指定の頭に . の無いものを 文字列指定とみなします。 また、特定の文字列&拡張子という組み合わせを指定する場合は、 .拡張子/文字列 と記述します。 各拡張子/文字列指定の間は、1文字以上の空白で離します。 行の先頭が # の場合は、その行をコメントと見なします。 拡張子/文字列指定の先頭に ! をつけると、否定を意味します。 文字列指定の先頭に ! という文字自身を指定したい場合は、\! と 指定してください。拡張子/文字列指定の先頭以外はその必要はありません。 *拡張子/文字列指定内の特殊文字について ^ : 先頭にマッチ(拡張子指定では使えません) $ : 最後尾にマッチ . : 任意の 1 文字にマッチ [xxx] : [] 内の任意の一文字にマッチ。[A-Z]等の範囲指定、^ 否定記述も可 x* : 文字 x 0個以上にマッチ x+ : 文字 x 1個以上にマッチ x? : 文字 x 0〜1個にマッチ x{a,b} : x が a 文字以上 b 文字以下とマッチ \x : x を特殊文字として扱わない (xxx|yyy): xxx か yyy にマッチ などの正規表現風の指定が可能です。 一般的な正規表現には対応していますので、正規表現に関しては Web 等の情報を 参考にしてみてください。 評価は先頭から順に行なわれ、マッチした時点で評価を終了します。 最後までマッチしなかった場合は、取得許可となります。 <<拡張子/文字列フィルタ記述例>> 記述例(1) 0:.arc$ .gz$ .exe$ .lzh$ .z$ .zip$ .zoo$ .hqx$ .aif .au$ .ra .wav$ 0:.mp .avi$ .mov$ .pdf$ 上記指定した拡張子は全て取得しません。 注: 拡張子指定では正規表現風の指定において、常に ^ が付いている 状態で比較されます(よって ^ は使えません) ここで、..* のみを指定すると拡張子をもつ URL 全てが該当します。 * のみであると、URL 全てが該当します。 画像ファイルも取得しない場合は、上記に加え 0:.jp[ge] .gif$ .bmp$ .[px]bm$ .tif 等も加えておくと良いでしょう。 記述例(2): 0:.aif resmode 2:.gif$ /images/ → .aif で始まる拡張子と、resmode という文字を含む URL は取得しません が、.gif と、/images/ という文字を含んだ URL だけは、 許容 URL 階層外であっても取得します。 記述例(3): 0:.html$/aaa/bbb 1:.s?html? .cgi$ 0:\.* → html という拡張子でかつ、aaa/bbb を URL に含む場合は取得させず、 上記を除き、1:に書かれた拡張子(.shtml, html, htm 等)を含む URL は取得 しますが、それ以外のURL のデータは取得しません しかし、これだと http://aaa.bb.cc.dd/ee/ff/gggg/ のような拡張子を含ま ない URL のデータを取得しないので、これを改善したければ、 1:.s?html? .cgi$ 0:..* → 1:に書かれた拡張子を含む URL は取得しますが、それ以外の拡張子を含む URL のデータは取得しません(拡張子を含まない URL は取得対象になりま す) と記述します。 記述例(4): 0:!.cgi$ !num=2 \!res! \\res ^ad. !\.co.jp .cgi$/!tree= → 拡張子が .cgi でない場合、 num=2 という文字列が URL に含まれない場合、 !res! という文字列が URL に含まれる場合、 \res という文字列が URL に含まれる場合、 ad. から始まる URL の場合、 .gr.jp という文字列が URL に含まれない場合、 拡張子が .cgi でかつ tree= という文字列が URL に含まれない場合 は取得しません。 例えば、 0:\.* と書けば全く取得ができなくなり、 2:\.* と書けば、出現したリンクを際限なく取得したりしますので、フィルタの記述に は十分注意をしてください。 記述例(5): 4:.pdf$ 6:.z A:.mp3$ → 拡張子が .pdf なら、取得時旧データを保存して取得します。 拡張子が .z で始まるなら、許容 URL 階層範囲外であっても取得をし、 しかも取得時旧データを保存して取得します。 拡張子が .mp3 なら、許容 URL 階層範囲外であっても、またリンクの階層深度が 指定した階層深度リミットを超えても取得をします。 (4 = "0100"b, 6 = "0110"b に関し 1bit 目を "1" として 5 や 7 と指定しても 結果は同じです) -------------------------------- ・[取得済データの取得条件] 既に取得したことのある WebPage データを再び取得するときの条件を設定します。 新規取得の場合は影響を受けません。 [無条件取得] 普通に取得します。 [Textのみ取得] 取得データが text のもの(htmlなども)は取得し、画像やプログラムなど、 テキストでない物は取得しません。 [開始URLのみ取得] 取得開始URLは取得を行い、それ以降のリンクでデータが取得済の場合は取得しま せん。主に掲示板等での使用を想定しています。 [取得しない] 既に取得してあるデータは一切取得しません。 ただし、取得済みデータに欠損がある場合(Resume 対象)は取得(Resume) を行ないます。 -------------------------------- ・[未更新時は ( ) 階層追跡] このプログラムで一度取得した URL を再度取得する場合、Page が更新 されていないとデータを取得ぜず、また tag(Link)の追跡も行いません。 このオプションを指定すると、更新されていないページ内の tag(Link) を追跡するようにできます。 例えば、 index.html -----> a.html --+--> a.gif +--> b.gif という階層になっていたとします。取得指定 URL が index.html の場合、 a.html が更新されていても、index.html が更新されていなければ、 index.html 以下を追跡しません(つまり、a.html を取得しません)。 このオプションにより、更新していなくても指定の深さの階層までチェックします。 ( )内は階層深度設定で、0〜99。0 は、すべての階層をチェックします。 同時に、全てチェックしますので、取得完了までに時間がかかります。 -------------------------------- ・[取得指定URLのサーバ内許容] このプログラムでは、取得指定の URL が例えば http://www.aaa.jp/dddd/index.html の場合、以下のようなリンク構造であった場合、 www.aaa.jp --+-- dddd --+-- index.html --- a.gif | +-- a.html -- g.gif | +-- eeee ----- index.html ==> これは他階層になる (取得対象にならない) http://www.aaa.jp/dddd/index.html から http://www.aaa.jp/eeee/index.html へリンクが張られていたとしても、 基本的には "http://www.aaa.jp/dddd/" 以下の階層にあるリンクしか追跡せず、 データも取得しません。 このオプションを指定すると、取得指定した URL と同一サーバ内のデータは全て 許容されるようになり、http://www.aaa.jp/eeee/ 以下も追跡取得されます。 -------------------------------- ・[ページ上オブジェクト全取得] 通常は、取得指定した URL (Top Page)と同階層か、下位の階層にある URL しか追跡 取得しませんが、このオプションを指定すると、ページ上に(貼って)あるオブジェク ト(画像、音声等)は、Top Page の階層と関係なく全て取得します。 これは、カウンタや、バナーなどのページ上に張られているオブジェクトは Top Page の階層以下に無いことが多いので、これらを取得するために設けました。 よって、画像ファイルでも、リンクされているもの(WWW ブラウザで、クリックしな いと見れないもの) は、階層外なら取得しません。 正確には、 と、 tag を 取得します。その他の tag (等)は取得しません。 このオプションは3ステート(無し、灰チェック、黒チェック)になっており、 通常は灰チェックで使用しますが、黒チェックにすると、 ・フレームページの各フレームに対応する URL ・meta http-equiv="refresh" タグのジャンプ先 URL ・Webサーバが「移動した」旨通知してきた先の URL も「ページ上のオブジェクト」とみなし、その WebPage データを取得します。 ここで取得されたページの、ページ上オブジェクト以外のリンクを解析してさらに 追跡取得することはしません。 -------------------------------- ・[全てのLinkを追跡取得] 通常は、取得指定した URL (Top Page)と同階層か、下位の階層にある URL しか追跡取得しませんが、このオプションを指定すると、全ての URL に対して追跡、データの取得を行います。追跡範囲が広くなりすぎ、 収拾がつかなくなる恐れがあるので、注意してください。 このオプションは3ステート(無し、灰チェック、黒チェック)になっています、 ・灰チェック: 取得開始階層以下でない URL の場合は 1 階層のみ取得可能 (他のサイトに飛んで追跡するが、飛んだページだけ取得) ・黒チェック: 全ての URL に対して追跡、データの取得を行います。 またこのオプションを有効にした場合、[( )階層まで取得 (0=無限)] オプションの 階層数を 1 以上として取得階層数を限定しないと、エラー となり実行できません。 -------------------------------- ・[( )階層まで取得 (0=無限)] 取得する階層の深度限界の設定をします。 このオプションを指定すると、取得指定した URL (Top Page)を基準と し、指定した階層以内のリンクデータのみ取得します。その他は追跡取 得しません。 "0" と指定すると、階層に関係なく全てのリンクを追跡、データを 取得します(もちろん URL が取得指定した URL 以下の階層であること)。 これがデフォルトです。 "2" とすると、第二階層まで追跡、取得します。 許される値は、0〜20です。 これは、掲示板等の cgi ページにて、同じものを何回も取得してしまう ときに便利です。 階層の数え方ですが、WWW ブラウザで閲覧した場合に、クリックしなく ても見えたり、聞こえたりするものは同階層、クリックしたりアクショ ンを起こさないと見えないものは、+1階層と数えます。 例えば、以下のように Link されている場合の階層の数え方を示します。 index.html --+--> a.html ------> b.html | +--> c.html | | | +>framea.html ---> e.jpg +> c.gif +> b.gif +>frameb.html ---> d.html +> x.mid | +> c.gif ^^^^^^^^^^ ^^^^^^^^ ^^^^^^^~~~~~~~ ^^^^^^ 第一階層 第二階層 第三階層 第四階層 取得 URL の index.html は「第一階層」ですが、その index.html 上の画像 c.gif も同時に見えるので、第一階層となります。ところが、index.html から「リンクさ れている」 a.html と、c.html などは、第二階層となります。よって、c.html を見 たときに同時に見えたり聞こえる b.gif と x.mid も第二階層となります。 ここで、b.html は第三階層となりますが、フレーム構造になっている場合の例で、フ レームの領域として framea.html と frameb.html がある場合、b.html を閲覧すれば framea.html frameb.html も同時に見ることになりますので、共に第三階層と数えま す。 一方、frameb.html を閲覧したときに画像 c.gif は見えるので第三階層と数えます が、e.jpg は、framea.html からのリンク画像で、クリックしないと見えない物なの で、第四階層となります。 meta http-equiv="refresh" タグのジャンプ先 URL も、タグが記述された URL と同 階層と見なします。 第 n 階層の HTML に記述された の xx は第 n 階層ですが、 の yy は第 n+1 階層になります。 -------------------------------- ・[移動Pageの完全追跡] このプログラムでは、WebServer から「URL が移動した」という旨を通知されると、 移動先の URL を追跡しますが、その URL が取得指定した (コマンドラインで指定した)URL 以下(取得開始階層下)でなければ取得しません。 もし取得指定 URL 以下でなくても追跡取得したいときに、このチェックボックスを チェックします。 「URL が移動した」と見なすのは、以下の場合です。 (1) tag が存在した場合。 (2) WebServer が、移動ReturnCode と移動先 Location: 情報を返した 場合 (3) フレームページの場合、各フレームページに対応した URL へ 移動したと見なします(ver 6.10〜)。 このオプションは3ステート(無し、灰チェック、黒チェック)になっており、 「灰チェック」の場合は、取得開始 URL のみ完全追跡の対象となり、 「黒チェック」の場合は、全ての場合において移動 Page を追跡します。 -------------------------------- ・[ftp:// を全て取得する] ftp:// プロトコルのオブジェクトを全て取得します。 ※注意※ ftp:// を取得するには、環境設定にて anonymous FTP のパスワードを 設定しておいてください。 -------------------------------- ・[ボタンの追跡取得を行なう] このオプションを選択すると、ボタン等のあるページにおいて、ボタンを 押して得られるページまで追跡取得します。 主に掲示板で威力を発揮します。 このオプションで追跡取得できるのは、 *入力フィールドが無いこと *ボタンを押すときに WebServer に送るべき情報が多すぎないこと 等の条件があります。 また、ボタン等のあるページは cgi を使っていますので、大抵の場合、 取得指定したページ(Top Pageとする)とは別階層になっています。 Top Page と別階層の場合は、通常取得しませんので、他のオプションと 併用して利用してください。 参考・[許容URLの設定] ・[全てのLinkを追跡取得] ・[( )階層まで取得 (0=無限)] -------------------------------- ・[更新チェックを行なう] 取得済のデータが更新されている場合のみ取得します。 ただし、WebServer が更新チェックに対応している場合にのみ機能します。 また、このオプションを外すと、resume は機能しません。 -------------------------------- ・[厳密な更新チェックを行なう] WebServer の中には、こちらから「未更新データは送らないでくれ」とリ クエスト(上記、更新チェックを行う、オプション)を出しても、未更新にもかかわら ずデータを送ってくる場合があります (cgi や ssi ページ以外。NCSA/1.1, MS-IIS/1.0 などが該当)。 この場合にこのオプションをチェックすると、すくないオーバヘッドで 正確な更新チェックを行なえることがあります。 ただし、普通の(RFC-1945 にきちんと則った) WebServer に対してこのオ プションを適用すると、オーバヘッドが大きくなり通信時間が増えますので、 [更新チェックを行なう]オプションを有効にしてもいつもデータ を取得してしまう場合に限りお試し下さい。 -------------------------------- ・[CacheDataを使わない] プロキシ等を使用する場合、プロキシ内のキャッシュデータが使用され る場合がありますが、このチェックボックスをチェックすると、 キャッシュデータを使用しないように指定できます。 例えば、プロキシを介してインターネットと接続している場合、何度取得し てもきちんと取得できない場合などは、プロキシ内のキャッシュにエラー データが残ったままになっていることが有り、このオプションを指定する ことで、キャッシュを参照しないで直接 WWW サーバにアクセスし、解決す ることがあります。 プロキシの種類によって、このオプションを有効にして取得した場合、未 更新ページなのに新たにデータを受信してしまうことがあるようです。 -------------------------------- ・[ErrorPageを保存] Web とアクセスしているとき、Web サイトの不調や、WebPage の Link記述 のミスで、Webサイトがエラーページを返す場合があります。 (取得終了 Status として、「NoGood」と表示される場合です) このオプションはエラーページであってもデータとして保存する場合に指 定します。 これは、デバッグ用(正確にWebPageをまるごと取得出来ているかの調査)と 考えとください。 -------------------------------- ・[認証機構を有効にする] このオプションを指定すると、UserID と Password の必要なページへの アクセスを可能にします。認証の必要なページを取得するときに、 UserID と Password を要求するダイアログボックスがでるようになります。 一旦 UserID, Password を入力すると、 $AuthCode$ というファイルに情報を書き込み、以後このファイルを使って認証を自動で 行いますので注意してください。 例えば、http://www.aaa.bbb.ac.jp/~homes/aaa.cgi にアクセスし、 サーバが「rabbit」という(空間)名でパスワードを要求した場合、 入力された UserID、Password の情報は、 データの格納場所\www.aaa.bbb.ac.jp\~homes\$AuthCode$ に置かれます。 この $AuthCode$ による自動認証は、 http://www.aaa.bbb.ac.jp/~homes/ 以下の階層の、空間名「rabbit」に関して働きます。例えば、 http://www.aaa.bbb.ac.jp/~homes/buns/index.html のように下層の URL で認証が要求され、その空間名も「rabbit」なら、 前に作成された $AuthCode$ ファイルを使って、自動的に認証が行われ ます。空間名が異なる場合は、別のパスワードが要求されると同時に、 データの格納場所\www.aaa.bbb.ac.jp\~homes\buns\$AuthCode$ に認証情報が保存されます。 ※注意※ このファイルの扱いには十分注意してください。 ※注意※ また、この機能を有効にしなくても、 http://UserID:Password@www.aaa.bbb.ac.jp/... のように指定し取得すればいつでも認証が可能です。 なお、この 「http://UserID:Password@」機能と、$AuthCode$ が存在する 状態で認証機構を有効にした場合、$AuthCode$ に記録された認証情 報が優先されます。 -------------------------------- ・[Cookie: を送る] 既に取得時・LocalWebServer の ProxyMode2 で記録された Cookie 情報を取得時 に送信する場合に指定します。 Cookie 情報の記録は、取得時・LocalWebServer の ProxyMode2 において、すべてが 記録されるわけではありません。例えば、Post Method の場合、実装上の理由で記録 されない場合があります。 Cookie 情報を自分で設定する場合は、gethtml.hif をエディタ等で編集します。 Cookie 情報は、gethtml.hif 内に以下のように記録されています。 www.aaa.co.jp/bbb/ccc/# # AAA=CCC BBB=DDD <0x00> Cookie 情報を与える上位階層(URL) に "#" を付けます。 その後に "#" が続き、Cookie 情報が で区切られて並びます。 よってブラウザ等から Cookie 情報を持ってくる場合は、上記のフォーマットで gethtml.hif を編集してください。ただし、エディタによっては <0x00> が別の文字 に化けることがありますのでご注意ください。 -------------------------------- ・[旧データを保存] 既にデータを取得済みで古かった場合、新しいデータで上書きせず、古いデータを 別ファイル名で保存しておいて、新しいデータを取得します。 古いデータは同じディレクトリに存在し、ファイル名は "オリジナルのファイル名_{8桁 Hex}.オリジナルの拡張子" (仕様変更しています) となります。8桁 Hex は、C 言語の stat() で返ってくる stat.st_ctime がその まま入っています。 名前の変更された古いデータは、取得履歴ファイル(gethtml.hif)に載りません。 よって、「履歴情報の無いデータ操作」を行なうと、削除対象となります。 削除をしたくない場合は、「履歴情報の無いデータ操作」実行時に出る削除対象 一覧から外せば OK です。 URL 文字列や拡張子ごとに設定したい場合は、「拡張子/文字列フィルタ」にて 細かい設定が出来ます。「拡張子/文字列フィルタ」での設定が優先されます。 -------------------------------- ・[許容URLの設定] 通常は取得指定した URL 以下の階層に存在する WebPageデータしか取得し ませんが、このボタンを押してでてくるダイアログボックスで、他の階層 の URL となる WebPage データの取得を許可します。 例えば、http://www.aaa.ac.jp/~aiueo/ というページが、 http://www.bbb.ac.jp/~kakiku/ 以下のデータを多量に参照していた場合 http://www.bbb.ac.jp/~kakiku/ 以下のデータは他の階層となるため取得 できません。そこで、www.bbb.ac.jp/~kakiku/ をここで指定すると、 http://www.bbb.ac.jp/~kakiku/ 以下の WebPage データも取得することが 出来ます。 許容 URL の先頭を ! とすると、拒否 URL となります。つまり !www.bbb.ac.jp/~kakiku/keko/ と指定すると、http://www.bbb.ac.jp/~kakiku/keko/ 以下の URL は取得し ません。 許容 URL、拒否 URL の優先順位は、先に登録したものが優先度が高くなっ ています。 (例: 有効な設定順) +------------------------------+ | !www.bbb.ac.jp/~kakiku/keko/ | ===> 下より優先度が高い | www.bbb.ac.jp/~kakiku/ | +------------------------------+ ==> http://www.bbb.ac.jp/~kakiku/ 以下は許容するが、 http://www.bbb.ac.jp/~kakiku/keko/ 以下はだめ。 http://www.bbb.ac.jp/~kakiku/ (例: 無効な設定順) +------------------------------+ | www.bbb.ac.jp/~kakiku/ | | !www.bbb.ac.jp/~kakiku/keko/ | ===> 上より優先度が低い +------------------------------+ ==> http://www.bbb.ac.jp/~kakiku/ 以下を許容してしまうので、 http://www.bbb.ac.jp/~kakiku/keko/ 以下を拒否できない。 また、拒否 URL として登録した場合、 [取得指定PageのLinkを全取得] [取得指定URLのサーバ内許容] オプションで該当したURLも拒否します(オプション優先度が一番高い)。 ※注意点※ 一般向け(デフォルト)の許容URL設定、すなわち「設定」→「取得条件設定」で設定 された「許容URL設定」は、取得開始 URL 毎に許容 URL を設定していても反映され ます。このとき、デフォルトの許容 URL 設定の優先度が高くなります。 -------------------------------- ・[追加 Header 編集] 任意の Header 情報を取得時に追加送信できます。 ※注意※ 設定方法を誤ると全く取得できない等の問題が発生します。 Header の種類、指定方法は RFC-1945, RFC-2068(HTTP protocol)を参考にし、 また設定はこれら HTTP protocol を十分理解している方専用です。 (例) "Test-Header: HogeHoge" を追加送出したい場合は、Edit box に Test-Header: HogeHoge を書き込みます。 -------------------------------- +-----------------------------------------------------+ | このように設定条件が多いのは、設定を厳しくしないと、| | 必要以外のデータを取得してしまったり、無限に Link | | を辿ってしまい、収拾がつかなくなるためです。 | +-----------------------------------------------------+ -------------------------------- ・[OK]ボタン 設定を有効にし、ダイアログを終了します。 「設定(C)」→「取得条件設定(G)」メニューによる 「デフォルトの取得条件設定」においては、下記 [記憶] ボタンと同じく 設定を取得条件保存ファイル(gethtmlw.cf)に設定を書き込みますが、 URL 毎の取得条件設定においては、設定が有効になるだけで、取得条件保存 ファイル(gethtmlw.cf)への書込みは行なわれません。 -------------------------------- ・[記憶]ボタン 設定を取得条件保存ファイル(gethtmlw.cf)に設定を書き込みます。 -------------------------------- ・[初期化]ボタン 取得条件保存ファイル(gethtmlw.cf)に書き込まれている取得条件を消し、 取得設定をデフォルトに戻します。 「設定(C)」→「取得条件設定(G)」メニューによる 「デフォルトの取得条件設定」においては、取得条件をプログラムの初期 設定にします。 URL 毎の取得条件設定においては、取得条件保存ファイルからこの URL 固有の取得条件を消し、また取得条件を「設定(C)」→「取得条件設定(G)」 メニューによって設定された「デフォルトの取得条件設定」とします。 この動作のキャンセルは出来ませんのでご注意ください。 -------------------------------- このダイアログをキャンセルしたい場合は、タイトルバー右の[X]を押すか、 [ESC]キーを押します。 =============================================================================== ★ 取得データのコピー・移動・削除 : ------------------------------------------------------------------------------- ・「履歴情報の無いデータ操作」 「データ(D)」→「履歴情報の無いデータ操作」を選ぶと、 gethtml.hif に登録されていないファイルを探しだし、移動・削除が可能です。 URLツリーの特定階層を選択してから(右クリックメニューで)実行すると、その階層 下のみを検索対象とし、選択しないで実行するとすべての階層を検索対象とします。 ・「不要な WebPage データと履歴情報の操作」 URLツリーにて操作したいデータを選択し、 「データ(D)」→「選択URL以下のデータ」→所望の動作を選びます 選択したデータと、その下層のデータと履歴情報の操作を行います。 ・「起動後に取得したデータ操作」 「データ(D)」→「起動後に取得したデータ操作」→所望の動作を選びます プログラムを起動させてから後に取得したデータ(ファイルと履歴情報) 操作をします。取得ログ情報ファイル gethtml.log.tmp をもとに操作リスト が列挙されますから、操作するものを選択し(URL をダブルクリックする) 操作を行なってください。 このダイアログにて、上に削除可能候補が列挙され、下は削除決定欄となります。 リストをクリックして選択し、↑または↓ボタンで上下リスト間の移動が可能です。 リスト間のエディットコントロールに正規表現風の記述を行い、↑または↓ボタン を押すと、正規表現風記述にマッチしたものを移動できます。ただし、上下リストが クリック選択されていない場合に限ります。 ・「選択URLの全リンクデータ操作」 取得した Webpage データを、リンク構造まるごと他のディレクトリにコピー して、そこで閲覧したかったり、または削除することが出来ます。 以下の方法どちらでも行えます ・メインウィンドウにて、操作したい WebPage の URL を選択し、 「データ(D)」→「選択URLの全リンクデータ操作(L)」→所望の動作を選びます 右クリックメニューでも行えます。 ・ブックマークウィンドウにて、操作したいブックマークを選択し、 右クリックメニューの「選択URLの全リンクデータ操作(L)」→所望の動作を選 びます。 すると、選択された URL のリンクを解析し、リンクされたデータ(取得済に 限る)を全てコピー(または移動・削除)します。このとき、gethtml.hif も 処理されます(コピー・移動・削除)。 また、ブックマークウィンドウから処理された場合は、選択されたブックマ ークのコピーも行われます(コピー・移動時のみ)。コピー先のブックマーク ページは現在表示中のページ名となり、URL の重複したブックマークは コピーされません(データはコピーされます)。 この動作のリンク構造の解析条件は、設定された取得条件が反映されます。 URL ごとに取得条件が設定されている場合は、その条件が反映されます。 ただし、「取得済データの取得条件」と「未更新時もリンクを追う」は反映 されません(ある値に固定されます)。 =============================================================================== ★ 取得の Resume 機能 : ------------------------------------------------------------------------------- ver 6.6.0 より、Resume 機能を実装しました。これは、データ取得中に回 線の切断やタイムアウト等で取得が完了しなかった時、次回の取得では、 前回受信済のデータ以降から取得を始める機能です。 受信したデータを無駄にしないため、レスポンスが悪く切断されやすいサイ トからの取得にかかる通信時間を節約できます。 ただし、全ての場合において、この Resume 機能が働くわけではありません。 Resume 機能が働く場合は以下のとおりです。 ・Resume 用の要求に対応したサーバからの取得であること。 httpd では、Range: ヘッダが通るもの。 ftpd では、REST コマンドが通るもの。 ・取得サイズが把握できる場合。cgi などの場合は、取得サイズが分からな いので働きません。 ・データが更新されていないことを確認できること。 Resume 作業は、まず Web 上のデータが更新されていないことを確認して から行われます。 Web 上のデータが更新されているか、更新されているかどうかの情報が得 られない場合、Resume 作業は行われず、データの先頭からの再取得とな ります。 よって、古いタイプのサーバでは Resume 機能が働かないことが多いです。 =============================================================================== ★ 簡易ブックマーク機能 : ------------------------------------------------------------------------------- これは、一度取得したURL と、そのページのタイトルを登録しておき、 利用する機能です。 ブックマークを複数ページ持って切り替えて管理できます。 ブックマークは、WebPageデータが保存されるディレクトリ内に、 「gethtmlw.bm」 というファイルで管理されます。 ブックマークファイル gethtmlw.bm が存在しない場合、デフォルトのブッ クマークとして、名前の無い(空白)ブックマークページを作成します。 -------------------------- ・ブックマークの登録 (1) 既に WebPage データを取得して、URLツリーに表示されている (2) ブックマークに登録されていない URL の WebPage データの取得が 完了したとき に、ブックマークを登録できます。 (1) の場合は、登録したい URL を URL ツリーで選択し、 メインメニューの「編集(E)」→「ブックマークの登録(A)」で行います。 また、右クリックメニューの「ブックマークの登録(A)」でも行えます。 (2) の場合は、取得完了後に登録するかどうかのダイアログが表示される ので、表示にしたがってください。 ブックマークが登録されるページは、現在選択(表示)されているページで、 登録される位置は、最下位ですから、必要に応じて移動してください。 -------------------------- ・ブックマークウィンドウの表示 メインメニューの「編集(E)」→「ブックマークの表示(B)」で行います。 また、環境設定の、[起動時ブックマークを表示] チェックボックスをオ ンすると、このプログラムの起動と同時に簡易ブックマークを表示できま す。 ブックマークウィンドウの最上位のコンボボックスは、ブックマークの切 り替えに使用します。現在表示されているブックマークのページが、この コンボボックスに表示されます。ただし、ブックマークページが複数存在 する(既にブックマークページを作成済みで、ブックマークファイルが複数 存在)場合にのみ、ページを切り替えられます。 補足情報: このコンボボックスの表示順番は、先のプログラム起動時に表示した ブックマークのヒストリ順となります。つまり、最後に表示されていた ブックマークが、次回起動後のコンボボックスの先頭に位置されます。 もしコンボボックスの表示順番を、常にブックマークの名前順にソート しておきたい場合は、ブックマークファイル gethtmlw.bm の先頭に ComboSort=1 と書き加えてください。 -------------------------- ・ブックマークウィンドウ上の操作 右クリックメニューで行います。 * 開く 選択されたブックマークの WebPage データを開きます。複数選択時は できません。 * WebPage 取得 選択されたブックマークの WebPage データを取得します。複数選択も 可能です。 * コピー 選択されたブックマークの WebPage データの URL またはデータファイ ル名をクリップボードにコピーします。複数選択時はできません。 * Server の動作・停止 * ブックマークウィンドウのフォント変更 * ブックマークの編集 詳細は.......使ってみてください。 * URL 情報の表示。 ----------< 付加情報 >---------- 通常、ブックマークや URL ツリーのいずれかを選択し、「URLとして開く」 を選択した場合(ダブルクリック等も含む)、LocalWebServer は ServerMode となり、既に取得してある WebPage データの閲覧となります が、[ALT] Key を押しながら「URLとして開く」を実行した場合(ダブル クリック等も含む)、LocalWebServer のモードを切り替えずにWWWブラウザ が起動されます。 ----------< 付加情報 >---------- -------------------------- ・テキストエディタによるブックマークの編集 このプログラムのある(取得したデータのある)ディレクトリ内にある、 gethtmlw.bm というファイルがブックマークを記憶していますので、プログラムを終了 した後、gethtmlw.bm ファイルをエディタで開き、編集してください。 このとき、 書式は [ "ブックマークページのタイトル" ] "URL" 半角空白(または TAB 文字) "タイトル" "URL" 半角空白(または TAB 文字) "タイトル" "URL" 半角空白(または TAB 文字) "タイトル" 以下同様 です。表示される順番通りに並んでいます。 これを守れば追加、削除、編集ができます。書式を間違えた時の動作は保 証していません。 -------------------------- ・ブックマークページの新規作成 ブックマークページを新たに作成するだけの機能は必要ないので実装して いませんが、ブックマークページを新たに作成するには、以下の二つの方 法にて行なえます。 (1) ブックマークウィンドウにて右クリックをし、「ブックマークの編集」 で出てくるダイアログボックスの「ページの変更」で、作成したいブッ クマーク名を入力します。ただし、既に表示されているブックマーク になんらかの URL が登録されている必要があります(あくまでも作業 は「ブックマークの移動」なので)。 (2) gethtmlw.bm をエディタで開き、ファイルの最後に [ "作成したいブックマークページのタイトル" ] を追加します。 -------------------------- ・ブックマークの全表示機能 (ver 6.7〜) 右クリックメニューの「ブックマークの全表示」を表示すると、全ての ブックマークが一度に表示できます。このモードでは、ブックマークの ページ選択コンボボックスが消え、またブックマークの編集が行えません。 このモードから抜けるには、ふたたびこのメニューを選択してください。 -------------------------- ・なぜ「簡易」か WebPage 取得エンジンと閲覧補助部(LocalWebServer) の性能を第一に、 「必要最低限の機能で軽いプログラムを目指す」ことを念頭に置いていますので、 単に見栄えを良くするための実装や、他の方法で回避できると判断した機能は実装 しないようにしています。 =============================================================================== ★ ftp:// の取得 : ------------------------------------------------------------------------------- このプログラムでは、http:// だけでなく、ftp:// の取得も出来ます。 ただし、以下の制限事項があります。 ・LocalWebServer では ftp:// を扱いません。よって、閲覧時に ftp:// リンクを追うことは出来ませんが、 ・取得後は、http://として扱われます。URL ツリーにも http:// と 表示されます。 ・取得オプションによって、更新日付をチェックし、未更新時は取得しな いようにしていますが、FTP Server の種類や、プロキシサーバの種類 により、最終更新時間を返さないものがあり、その場合は未更新でも 取得してしまいます。 ・通常 ftp:// でディレクトリを指定すると、ディレクトリのリストを html 形式で取得できますが、これには対応していません。 これを行なうには、ftp プロキシを介してください。 以上、不必要と思われる実装を省いたため制限事項は多いですが、今後実際に あわせて改良予定です。 ftp:// の取得を行なうための条件は、 (1)プロキシ設定の ftp:// プロキシの設定をおこなう。 プロキシを使用しないなら、欄を空白にしておく。 (2)環境設定の「FTP パスワード」を設定する。 anonymous FTP サーバでは、パスワードとして E-mail アドレスが要 求されていますので、マナー上正確な自分のメールアドレスを入れて ください。あやしい(?)サイトの場合は、ftp プロキシを介すといいで しょう。 また、普通は WWW Server と FTP Server のアドレスは違うので、 (ex. WWWは www.aaa.ac.jp FTPは ftp.aaa.ac.jp 等) ftp:// のサーバアドレスを許容 URL として登録しておかないと取得できな いことが多いです。 全ての ftp:// を取得したい場合は、取得設定で「ftp:// を全て取得」 オプションを指定してください。 =============================================================================== ★ プログラムの終了 : ------------------------------------------------------------------------------- 終了メニューは、メインウィンドウでは、メニューの「動作(A)」内、 タスクトレイアイコンを右クリックして出るメニュー内にあります。 プログラムの終了には、二通りのアクションがあります。 ・「履歴整理後終了」 取得履歴情報を整理しながら出力し終了します。 整理とは、WebPage データファイルの存在をチェックし、無ければ履歴を消す作業を 行っています。よって、この方法で終了すると履歴情報ファイル gethtml.hif を常 に小さく保つことができますが、データファイル存在チェックに時間がかかるため、 終了処理に時間がかかります。 ・「高速終了」 取得履歴情報を整理しないで出力し、終了するので上記より早く終了でき ます。取得データファイルを消さない限り、履歴情報を整理する必要は無 いため、通常はこれでかまいません。 また、ウィンドウ右上の [X] マークのクリックや、システムからの強制終 了要求においては、高速終了されます。 =============================================================================== ★ プログラム異常終了時の対策 : ------------------------------------------------------------------------------- 何らかの理由でプログラムが異常終了した場合、プログラムを立ちあげ以降 に取得した WebPage データの取得履歴が保存されないため、以降の WebPage データ閲覧に支障を来たします。 そこでこのプログラムでは、WebPage データを取得する毎に、 gethtml.log.tmp というファイルに冗長な取得履歴を逐次書き出します。 そしてプログラムが正常終了して gethtml.hif 取得履歴ファイルが正しく 生成されると、gethtml.log.tmp は gethtml.log というファイル名に変わり ますので、プログラムの開始時点で gethtml.log.tmp がある場合は、 異常終了したと見なして取得履歴の修復を行います。 しかし、ディスク容量が足りなかったり、ファイルシステム等に異常を来し ていた場合は修復しきれませんので、プログラムが異常終了した時点で、 ファイルシステムのチェック(スキャンディスクなど)、ディスクの空き容量 のチェックを必ず行ってください。 またプログラムの終了時には gethtml.hif を取得履歴ファイルとして出力 しますが、念のため gethtml.hif.tmp というファイル名で出力してから、 出力が正常終了したら gethtml.hif に名前を変えるようにしています。 よって、プログラムが正常終了しても gethtml.hif.tmp が残っているよう なら、ディスク容量が足りなかったり、ファイルシステム等に異常を来して いることになります。この場合も、取得を行っているのなら gethtml.log.tmp が残ったままとなりますので、次回自動修復の対象となり ます。 =============================================================================== ★ 認証の必要なプロキシサーバに対して : ------------------------------------------------------------------------------- 一部のプロキシサーバに対して、認証を行なうことが出来ます。 認証の必要なプロキシサーバを使用している場合、認証の必要なページにア クセスしたときと同じく、プログラムが必要なときにユーザIDとパスワード を聞いてきます。環境設定ではユーザID やパスワードを設定しません。 取得条件の説明の [認証機構を有効にする] 項を参考にしてください。 この場合は、データディレクトリ(gethtml.hif のあるディレクトリ)内に パスワード情報として $AuthCode$ を作成します。このファイルがあれば 誰でもプロキシにアクセスできてしまうため、このファイルの扱いには注意 してください。 =============================================================================== ★ 取得未完了 URL の再取得 : ------------------------------------------------------------------------------- 取得が終了した後、取得に失敗し、再取得すれば取得できるかもしれない URL が有っ た場合は、リトライダイアログにて、再取得の指示が行えます。 ここで、[Cancel] ボタンにて再取得を行わなかったとき、その全 URL (リトライリスト)をファイルに出力することが出来ます。 このファイルを使って、別の機会に再取得を行うことが出来ます。拡張子が .rlf の このファイルをウィンドウにドロップするか、 メニューの「動作(A)」→「リトライリストからの再取得(R)」によってリトライリスト ファイルを選択すれば、再取得が行われます。 リトライ候補のダイアログにて、上にリトライ候補が列挙され、下はリトライ決定 リストとなります。 リストをクリックして選択し、↑または↓ボタンで上下リスト間の移動が可能です。 リスト間のエディットコントロールに正規表現風の記述を行い、↑または↓ボタン を押すと、正規表現風記述にマッチしたものを移動できます。ただし、上下リストが クリック選択されていない場合に限ります。 =============================================================================== ★ POST method による取得 : ------------------------------------------------------------------------------- WWWブラウザに URL を指定してページを表示させるときは、WebServer に対して GET method という方法にて URL を送信しますが、WWW ブラウザに表示されたボタンを押し たときなどは、WebServer に対し POST method という方法にて URL とデータを一緒に 送信します(ただし、どのようなデータが一緒に送られるかはブラウザでは確認できま せん)。 GetHTML(W) では URL のみを入力して取得するため、GET method による取得指定しか 出来ませんが(ページ内のボタン等を自動追跡しての POST method 取得は可能です)、 POST method によって URL と同時に送信するデータが分かる場合にのみ、POST method による取得指定が可能です。POST method で取得指定したい場合には、URL の頭に * を付け、URL の後ろに ? を付け、続けて送信データを指定します。 書式: *http://取得URL?送信データ ただし、*から始まる文字列の長さは 1535 文字以下とします。 ボタンを押した時にどのようなデータが送信されるかを調べるには、基本的にボタンが 表示されているページの HTML 言語を読んで調べるしかありません。 もし WWWブラウザが LocalWebServer を使用している場合には、ボタンを押した時にど のようなデータが送信されるかを簡易的に調べることが出来ます。 (1) LocalWebServer を LocalMode にする。 (2) WWWブラウザ上の、所望のボタンを押す。 (3) WWWブラウザ に「Object Not Found」という LocalWebServer のエラーページが 表示されますので、そのページ内の「Get the WebPage data」というリンクを クリックします。 (4) GetHTMLW の取得開始のダイアログが表示され、URL 入力欄に *http://取得URL?送信データ の書式で書きこまれます。 ただし、上記 1535 文字以下の制限があります。 =============================================================================== ★ その他の機能 : ------------------------------------------------------------------------------- (1) Proxy(LocalWebServer) アクセス制限機能 LocalWebServer にアクセスできるホストを制限できます。 データディレクトリと同じディレクトリに、access.lws というファイルを作り、 テキストエディタ等で制限/許可するホストを記述します。 このファイルがない場合、localhost(自分マシン内)通信しか許可されません。 (書式) アクセスレベル: ホスト名 または アクセスレベル: IPアドレス{/アドレスマスク} アクセスレベル = 0: 拒否, 1: 許可, 2: 許可かつ LocalWebServer のモード切替可 (記述例) 0:192.168.1.1 # A 2:mymachine # B 1:192.168.0.0/255.255.0.0 # C 0:!192.0.0.1 # D #A : 192.168.1.1 は拒否します。 #B : mymachine は LocalWebServer のモード切替も許可します。 #C : 192.168.*.* は許可します(モード切替は不可) #D : 192.0.0.1 で無ければ拒否 上から評価して、該当項目があればそこでアクセスレベルが決定されます。 最後まで該当しない場合はアクセスレベル 0 となります。 # 以降はコメントと見なします。 (2) 特定 URL の Proxy(LocalWebServer) 通過拒否機能と、旧データ保存指定 LocalWebServer に特定の URL のデータ通過を拒否したり、別の URL/ファイルに すり替えることが出来ます。 また、既に保存済みのデータが古かった場合に、そのデータを別名退避する指定 もできます。 データディレクトリと同じディレクトリに、prohibit.lws というファイルを作り、 テキストエディタ等で拒否する URL を記述します。 (書式) {!}フィルタ記述 {*psv|*nsv} 置換え先(URL, 特定ファイル, エラーコード, 完全拒否) (記述例) ^www\.freeweb\.ne\.jp/.+/ad (例A) cyberclick\.net;/ad/;.gif$ (例B) ^cgi\.freeweb\.ne\.jp/ad http://www.ne.jp/key/tmark.gif (例C) valueclick blank.png (例D) banner :404 (例E) \.microsoft\.com *psv (例F) !\.microsoft\.com *nsv blank.png (例G) (記述例の説明) 正規表現風な指定が可能です。 (例A) www.freeweb.ne.jp/任意の位置文字以上/ad から始まる URL の要求を拒否 (例B) 頭に . をつけることで、URL の拡張子部が指定の URL の要求を拒否し、 ; は and です。 つまり、cyberclick.net かつ /ad/ を含み、拡張子部が .gif の URL を拒否。 拡張子部に、.jp* と末尾のワイルドカード指定も可能です。 (例C) cgi.freeweb.ne.jp/ad から始まる URL の要求を http://www.ne.jp/key/tmark.gif にすりかえます。 (例D) valueclick という文字列を含む URL の要求に対し、 データディレクトリのホーム上に置いた blank.png というファイルを返します。 (例E) valueclick という文字列を含む URL の要求を拒否しますが、拒否時の返答値は デフォルトでは 200 (OK を意味する) ですが、この値を 404 (オブジェクトが存在しない)にして拒否返答します。 (WebServer が返す返答値に関しては、RFC-1945 等を参照) (例F) .microsoft.com を URL に含む場合は、ProxyMode 2 の場合、旧データを保存 します。(PreSerVe の略) (例G) .microsoft.com を URL に含"まない"場合は、ProxyMode 2 でもデータを保存せ ず、しかも blank.png というファイルを返します。 (Never SaVe の略) 先頭の "!" は否定子を意味します。 (3) ヘルプファイルの表示 「その他(O)」→「Help(H)」で、ヘルプファイルを表示します。が、本パッケージ にはテキストファイルでないまともなヘルプは入っていません(^^; し、標準では設定してありませんので、表示は出来ません。よって、設定を促す ようになってます。 ヘルプファイルの設定として、本パッケージ内の "gethtmlw.txt" を選択するか、 Atsushi Yamashita さん(atsushi@webs.to) が作成してくれた HelpFile がありますので、Atsushi Yamashita さんの下記のページからダウンロードし、 展開して、ヘルプのトップファイルを選択してください。 http://hp.vector.co.jp/authors/VA022542/ghw/help.lzh 一度選択すると、再設定の必要なくヘルプファイルが表示されます。 (4) 取得経過の log 出力 取得状況ダイアログに表示される取得結果をファイルに出力したい場合は、 gethtmlw.ini ファイルをエディタで開き、 [General] のセクションに ProgressLog=progress.log の様にファイル名を指定します。ファイル名はディレクトリ名をふくんではいけませ ん。gethtml.hif 等取得データが保存されるデータディレクトリ内に出力します。 (5) robots.txt (robots.txt に関しては、http://www.robotstxt.org/wc/robots.html) ホストアドレス/robots.txt が存在した場合、その記述に当てはまる WebPage データ は取得しません。 URL の WebPage データを取得する前に、同 Webアドレスの robots.txt の取得を試 みます(取得リストに追加)。これが取得できない場合には robots.txt の処理は行い ません。 (6) 同一ホストに対する同時接続(取得)数制限 ブロードバンド化に伴い、取得に対するサーバへの負荷が大きな問題となってきまし た。そこで Ver.7.13.0 からは、[1ホスト同時取得上限数] を 1 に限定しました。 さらに、同一ホストへの連続取得に関しては、デフォルトで 1秒待つようにしました。 しかし、従来と同じように、同一ホストへ KeepAlive を保ったまま取得したい場合 や、同一ホスト同時取得数を増やしたい場合は、別設定ファイルにてその指定を可能 としました。 データディレクトリに gethtml.mcf というファイルを作成し、以下のようなルール で連続取得ポリシーと、同時接続(取得)最大数を与えます Syntax: {.拡張子検索文字列}/{URL検索文字列} [KeepAlive 変数]/{同時取得スレッド数}/{HTTP バージョン数} 拡張子検索文字列: 先頭に "." を付けて指定します。正規表現で指定します URL検索文字列: 拡張子検索文字列がある場合は "/" に続けて、無い場合は "/" は必要ありません。 正規表現で指定します。 KeepAlive 変数: KeepAlive=-1000 → デフォルト設定。次の取得まで 1000ms(1秒)待つ KeepAlive=-xxxx → 次の取得まで xxxx ms(ミリ秒)待つ KeepAlive=0 → KeepAlive 通信を行わない(1取得ごとに通信を切断する) KeepAlive=1 → KeepAlive 通信を行う。 KeepAlive=2 → KeepAlive 通信(別アルゴリズム) 取得データの取得効率を高めることが出来ますが、通信状態に よりリトライが多発することがありますのでご注意ください。 同時取得スレッド数: KeepAlive 編集に続けて "/" の後に指定します。 "0" を指定すれば取得しません。 "4" より大きい値を指定した場合は "1" と見なします。 HTTP バージョン数: HTTP version 数を指定します。通常は指定不要です。 デフォルトは "11" (HTTP/1.1) です。"10" なら HTTP/1.0 という指定です。 GetHTML は通常 HTTP version 1.1 (HTTP/1.1) を使用します。 例: \.xxxdomain\.or\.jp$ 1/2 これは *.xxxdomain.or.jp に該当するサーバへの連続取得に関する設定(KeepAlive 設定) を 1 とし、同時取得スレッド数を 2 とします。指定は正規表現が適用されます。 大文字小文字は区別されません。行頭に # があるとコメントと見なされます。 例: .(cgi|pl|php)$/\? -1000 拡張子が cgi, pl, php かつ URL に "?" が含まれていたら取得間隔を 1000ms とします。 同時取得スレッド数はデフォルトの "1" となります。 例: \.microsoft\.com 2/4/10 .microsoft.com への取得指定として、別 Keep-Alive 通信を行ない、最大 thread 数 4, HTTP version 1.0 (HTTP/1.0) を設定します =============================================================================== ★ 動作方法: MakeHIF .hif 再構築プログラム : ------------------------------------------------------------------------------- このプログラムは、なにかのきっかけで gethtml.hif 履歴情報ファイルが 壊れたり、無くなったりしたときに、存在する WebPage データより .hif ファイルに情報を追加するプログラムです。 .hif ファイルに異常が無い場合は、実行しないでください。異常無い場合 に実行したときの副作用として、hif ファイルに不要な情報を付加したり、 情報が欠落したりすることがあります。 制限事項: ・cgi の結果や、最後が / で終わる URL 等の情報は復元されません。 これは、保存しているファイル名と、URL が異なるためです。 ・全てのファイルの最終更新日が、ファイルの(変更)日付となるため、 再取得したときに、更新していなくても取得したり、更新しているのに 取得しないこともあります。 ・更新日の形式が、URL 先の WebServer が発行する日付形式と違うこと により、再取得したときに、更新していなくても取得するかもしれませ ん(このプログラムが生成する日付の形式は、HTTP/1.0 プロトコルの RFC-1945 に規定されているものなので、本来受け付けられるべきなの ですが、全ての WebServer と交信実験を行ったわけではないので確証 が持てないのです)。 -------------------- 実行方法 -------------------- DOS プロンプトにて、WebPage データの保存されているディレクトリでこの プログラムを実行してください。 例) WebPage データが d:\localweb 以下に保存されている場合 c:\> d: d:\> cd \localweb d:\localweb> makehif gethtml.hif が有った場合は、その後ろにデータを追加していいかどうか 聞いてきますので、追加していいなら y を、不可なら n を入力し、 リターンキーを押してください。 補足情報 gethtml.hif が既に存在していた場合、プログラムを実行するディレクト リ以下にある全ファイルを WebPage データと見なして、gethtml.hif の 後ろに追加しますので、同じ URL のデータが重複することが有ります。 その整理は、gethtml.exe や、gethtmlw.exe を実行することで行なわれ、 重複していたときは、makehif.exe で作成されたデータが削除されます。 =============================================================================== ★ 動作方法: ProxyChg GetHTMLW使用プロキシ変更プログラム : ------------------------------------------------------------------------------- モバイラな方々から、「GetHTMLW の使用するプロキシを簡単に変更できるようにして 欲しい」という要望がありましたが、GetHTMLW でプロキシを変更する場合、 LocalWebServer の再起動が必要なこと等などから、GetHTMLW 内で簡単に変更する機能 を提供するのではなく、GetHTMLW 起動前にプロキシを変更するツールを提供すること にしました。 一発変更を簡単に行うため、コマンドラインプログラムとしましたので、各々でバッチ ファイルを書いて、バッチファイルのショートカットをメニューに登録して使用すると 便利かと思います。 -------------------- 実行方法 -------------------- proxychg プロキシ変更オプション -------------------- プロキシ変更オプション -------------------- "-h" HTTPプロトコルのプロキシを変更します。 (書式) -h プロキシアドレス:ポート番号 (例) -h proxy.gethtml.ne.jp:8080 "-s" HTTPSプロトコルのプロキシを変更します。 (書式) -s プロキシアドレス:ポート番号 (例) -s proxy.gethtml.ne.jp:8080 "-f" FTPプロトコルのプロキシを変更します。 (書式) -f プロキシアドレス:ポート番号 (例) -f proxy.gethtml.ne.jp:8080 "-g" GOPHERプロトコルのプロキシを変更します。 (書式) -g プロキシアドレス:ポート番号 (例) -g proxy.gethtml.ne.jp:8080 "-w" WAISプロトコルのプロキシを変更します。 (書式) -w プロキシアドレス:ポート番号 (例) -w proxy.gethtml.ne.jp:8080 ※上記 5オプションに関する共通事項 : 以降を省略すると、ポート番号は 8080 となります。 (例) -h proxy.gethtml.ne.jp プロキシを無効にする場合は、: だけ書きます。 (例) -h : 上記例は、プロキシアドレス、ポートとも空白にします (例) -h proxy.gethtml.ne.jp: 上記例は、プロキシアドレスは設定しますが、ポートを空白にしますので、 GetHTMLW はプロキシを使用しません。 "-m" プロキシ無使用マスクを設定します。 (書式) -m xxx.yyy.zzz ただし、xxx, yyy, zzz は 0 〜 254 までの整数 (例) -m 123.234.222 123.234.222.* へのアクセスはプロキシを使用しません(* は 1〜254)。 (例) -m 123.234 123.234.*.* へのアクセスはプロキシを使用しません(* は 1〜254)。 (例) -m 0 指定が 0.0.0 と同等であり、プロキシ無使用マスクを無効にします。 -------------------- バッチファイル例 -------------------- notepad やエディタなどで、以下のバッチファイルを作ります (例) ファイル名 「会社.bat」 proxychg -h proxy.company.co.jp:8086 -f proxy.company.co.jp:8086 -m 123.234.22 (例) ファイル名 「家.bat」 proxychg -h : -f : -m 0 上記のようなバッチファイルを作って、GetHTMLW の起動前に実行すれば、一発で GetHTMLW の使用するプロキシを変更できます。 -------------------- 注意事項 -------------------- ・このプログラムは、設定ファイル gethtmlw.ini のプロキシ設定に関する項目を 書き換えるだけです。よって、GetHTMLW を起動する前に行ってください。 GetHTMLW の起動中に実行しても設定は変化しません。 =============================================================================== ★ 補足 : ------------------------------------------------------------------------------- ※※重要※※ / セキュリティーホールに関して こちら(http://www.onsystems.co.jp/SecurityHole-HTMLView.html)をご覧ください。 特に「Web巡回ソフトにも同じセキュリティーホールの可能性あり」の項です。 簡単に書きますと、ActiveX や Java, JavaScript の記述を含むデータを GetHTML(W)でダウンロードし、閲覧すると、最悪コンピュータデータを破壊される 恐れがあるということです。 このセキュリティーホールへの対策ですが、 LocalWebServer を使用して(介して)、http:// で閲覧する ことです。 このセキュリティーホールは、取得され LocalDisk に溜め込まれたデータを WWWブラウザで閲覧する事によって発生します。 そこで、LocalWebServer を介して閲覧すれば、http:// でデータ閲覧が出来 るため、 WWWブラウザは全てのデータを「外からやってきたデータ」とみなし、 「セキュリティーポリシー」が保たれることになりますので、 WWWブラウザの セキュリティー保護が働きます。 もちろん、LocalWebServer を介しても file:// で閲覧しては意味がありませ んので ご注意ください。 ---------------------------------- ・GetHTMLW のメインウィンドウの表示方法 メインウィンドウを「最小化」した場合、GetHTMLW はタスクバーからは消えます。 最小化したまま GetHTMLW を終了した場合、次回起動時はメインウィンドウは表示さ れない状態で起動できます。 メインウィンドウを表示したい場合は、GetHTMLW が動いている状態で、 タスクトレイ内の GetHTMLW のアイコン(パラボラアンテナの絵)を左ダブルクリック してください。 ---------------------------------- Windows98以降(95, NT4 でない) で GetHTMLW の使用する場合、本来ウィンドウが最前 面に出てくるべき場面で、最前面にならないことがあります。これは、Windows の仕様 の変更によるもので、以下の作業で回避できます。どちらか一方で構いません。 (1) Windows ディレクトリにある win.ini ファイルを開き、下記二行を 書き加えてください。その後再起動して、機能します。 [Compatibility95] GETHTMLW=0x00000002 (2) 添付の SetForegroundWindow98.reg をエクスプローラでダブルクリックする。 すると、以下のレジストリが追加され、全てのプログラムが Windows95 の仕様に 従って動きます。再起動してから機能します。 [HKEY_CURRENT_USER\Control Panel\desktop] "ForegroundLockTimeout"=hex:00,00,00,00 ---------------------------------- ・ページデータはあるのに、そのページから参照されている CascadeStyleSheet 等が 取得されていないだけで、そのページが閲覧出来ないことへの対策。 LocalWebServer が LocalMode の時、ブラウザから閲覧要求された URL のデータが 存在しない場合、通常はブラウザに、「ページがありません」の意の "404" を返し ます。ところが、ページデータはあるのに、そのページから参照されている CascadeStyleSheet が取得されていないだけで、そのページが閲覧されないことが あります。その場合は、データが無いときの返答値を例えば "200" にすることで、 CascadeStyleSheet 等が無くてもページが閲覧できるようになることがあります。 このような場合に "404" から別の値("200"など)にして使います。 この値の設定は、Windows ディレクトリにある "gethtml.ini" ファイルをエディタで 開き、 [LocalWebServer] セクションの NotFoundResult=404 となっている "404" を "200" などにして保存してください。 通常は "404" でお使いください。 この値を "200" などにすると、データが無いページの閲覧に対して、「データが無い」 旨の LocalWebServer のページが WWWブラウザにキャッシュされてしまうなどの副作用 がありますのでご注意ください。 ※注※ コマンドラインオプション "-cd" 指定時は、Windows ディレクトリでなく、 プログラム起動ディレクトリになります。 ---------------------------------- このプログラムの User-Agent: には "Pockey-GetHTML" という名称を使用しています。 =============================================================================== ★ 既知の問題 : ------------------------------------------------------------------------------- ・テンポラリファイルがプログラム終了後にも消えないことがあります。 => ver 1.3.0 で改良。しかし強制終了時には大抵残るようです。 ・Java, JavaScript, VBScript で記述されたページに対応できない => 対応の予定が立ちません。だれか作りませんか? :) ・「不要な WebPage データを削除する機能」では、ページ更新により Link から外れたファイルを消去することは出来ない。あくまで gethtml.hif に登録されていない WebPage データを消去するだけであった。 => 指定した日付以前に取得・更新チェックしたものを消去する機能により対処 ・Windows のデフラグを長期間掛けていなかったり、プログラムやデータの あるディレクトリ内のファイル数がかなり多い場合、プログラムの動作速 度を低下させることがあるようです。要観察事項の一つなので、現象に見 舞われた方はご一報下さい。 ・URL の長さが 1536 文字を越えた場合には、機能しないようにしています。 ・LocalWebServer では、IE4以降で実装された HTTP 1.1 での不具合は GetHTMLW 7.11(GetHTML 4.11)で対策を行いました。 もし通信時に不具合が起こる場合は、IE にて、 「HTTP 1.1」を使用しない設定にて御使用ください。 ・取得のリトライを行う際、同じ URL のデータを重複して取得することがあるよう です。同じ URL の取得登録は出来ないようにしているはずなのですが、現在調査 中です。再現性のある事象をつかんだ方は、ぜひご一報ください。 =============================================================================== あとは使ってみてください(^^; Version 4 時点で、実装した機能が多くなりすぎたので、このドキュメントに書かれて いない機能もありますが、使っていれば自然と分かるものであると信じています。 =============================================================================== =============================================================================== ★ 著作権 : ------------------------------------------------------------------------------- このソフトはフリーウエアとしますが、著作権は Yutaka Endo (gethtmlw @ gmail . com) にあります。 ただし、アイコンのデザインはボーランド社 の BorlandC++Builder 3 に含まれている再配布可能な image を利用しています。 このプログラムの配布を行うことで対価を得ようとする行為は禁じます。 ただし、フリーウエアの入手を容易にするような行為に関してはこの限りで はありません(雑誌のフリーウエア集、販売価格がプログラム取得の通信料を はるかに下回る値段でのプログラム配布、等)。 ------------------------------------------------------------------------------- このプログラムを使用した結果については、当方は責任を負いません。 =============================================================================== ★ ご利用いただいている皆さんへ : ------------------------------------------------------------------------------- FAQ、問答集を作成していただいた John Smith さん、 上記を HTML 化していただいた toihito さん、 HelpFile, インストーラを作成していただいた Atsushi Yamashita さん、には、特に 感謝いたします。 その他、バグ報告をいただいた方、提案をしていただいた方々にも感謝します。 バグ等に関して、基本的にサポートできる状況になくなってしまいましたが、「手が空 いたときに直せるかもしれません」、程度の期待度でメールをいただければ幸いです。 =============================================================================== ★ 使用処理系 : ------------------------------------------------------------------------------- Borland C++ ver 5.02 + OWL 5.0 (Windows XP) =============================================================================== ★ プログラムの置き場所 : ------------------------------------------------------------------------------- 最新のバージョンが、 http://www.vector.co.jp/ に置いてあります。 =============================================================================== 更新履歴情報は、gethtmlw.ver にあります。 -------------------------------------------------------------------------------