00:00まず、ブラウザから保存までの過程を行い、パケットをキャプチャします。今回、対象とするサイトはこちらです。キャプチャはWiresharkなどでも良いですが、今回はTCPのフローまで見る必要はありません。Headersなどで見たほうが便利です。(このソフトを使えばHTTPリクエストをGUI上で自由に変更できます。どのヘッダが必要か不要かも分かるので便利です)で、キャプチャしたものが以下のものです↓Content-Length以下にはwikiidとpassというパスワードを送っています。submitのURLエンコードは「ダウンロード」という文字列を表しています。ちなみにwikiidの項とpassの項とCookieは適当です。Headersのリプレイ機能を使って必要なヘッダが何かを判断します。Cookieが必須かどうかを調べる必要があります。Cookieが必要だった場合はCookie取得の処理が追加されるからです。調べた結果、不要だということが分かりました。PerlスクリプトではCookieヘッダは発行しません。ちなみにこの鯖はContent-Typeを指定しないとトップに戻されるようです。----------------------------------※注意Windows環境下ではファイルをopenした後に必ずファイルをバイナリモードにして下さい。FH;と引数にファイルハンドルを指定します。これを行わないと0D(CR)の後に0A(LF)が追加されてしまいます。UNIX環境下ではこの指定は不要です。ちなみに鯖からのレスポンスヘッダ内でContent-dispositionというヘッダがあります。このスクリプト内ではback.zipという名前でファイルを作成していますが、普通ブラウザではこの項を見てファイル名を決定します。