======================================================================== 【ソ フ ト 名】URLDL 【バ ー ジョン】3.2.0.1 【著 作 権 者】ssipa 【メ ー ル】sisipa@gmail.com 【ホームページ】http://ssipa.web.fc2.com/ 【対 応 機 種】Pocket PC 2003 以降、IEがインストールされているデバイスならば動作すると思われます 【動 作 確 認】zero3 es(WS007SH) 【ソフト 種 別】フリーウェア 【転 載 条 件】内容を変更しない限り 御自由に御転載ください ======================================================================== 【ソフトの紹介】 ・HTTPダウンローダ ・レジューム対応 ・User-Agent、Referer、BASIC認証、proxy指定可 【インストール】 ・URLDL.exe ・URLDL.txt ・URLDL.ini を任意の同一ディレクトリに格納しまます 【アンインストール】 インストールしたファイル、ダウンロード先DIRのログファイル、を削除してください レジストリは使用しません 【チュートリアル】 @ インストールの説明に従って、ファイルを配置します、各ファイルの用途は以下の通りです ・URLDL.exe ダウンローダ本体 ・URLDL.txt ダウンロードするURLを登録するリストファイル、登録されているURLが上から順にダウンロード処理される ・URLDL.ini 設定ファイル ・URLDL.log ログファイル、iniファイル指定のダウンロード先DIR直下に自動で作られる A URLDL.ini、URLDL.txt中の説明も見ておいてください B iniファイルを適当に設定してください(リリースiniファイルの内容は、私が使用している設定値で、更に、デフォルトと違う設定をコメントアウトしたものです) C 通信できる状態にします、AutoConnectの併用をお薦めします D URLDL.exe を起動します URLDL.txtに初期登録されている http://mail.goo.ne.jp/goomail/img/goo.gif がダウンロードされる筈です(リリースiniファイルのままの場合は \mail.goo.ne.jp\goomail\img\goo.gif にダウンロードされます) E URLDL.exe が非表示なった場合は、二重起動するか、トレイアイコンをタップすると表示されます 「MENU」−「EXIT」を選択すると終了します F URLDL.exe の「MENU」−「CheckClip」のチェックをONにします ブラウザを開いて、適当なリンクのショートカットをクリップボードにコピーします リンクが http://で始まって、/で終わってなければ、URLDL.txtにURLが追記されて、ダウンロードが始まります G ダウンロード中でも、URLDL.exe を終了可能です(問題無い所まで処理を進めてから終了します) タイミングによってはタイムアウト待ち時間だけ待たされます 次回起動時に、中断したファイルからダウンロードを開始します サーバがレジューム対応していれば、前回中断箇所からダウンロードを再開します 【iniファイル】 ・起動時にiniファイルを読み込みます、起動中に変更した場合は次回起動時に有効になります ・iniファイルが存在しない場合は全設定デフォルト値で動作します、iniファイルの自動生成はしません ・先頭、パラメータの前後に余計な空白を入れないでください ・コードはshift-jisです ・不要なパラメータは指定行を削除して構いません ・先頭「/」はコメント行扱い ・指定できるパラメータは以下の通りです []は指定無し時のデフォルト値  loglevel=[1] ログ出力レベル(0:無 1:概要 2:詳細)  msglevel=[1] メッセージ出力レベル(0:無 1:有)  multi=[1] 多重度上限、max4  title=[クラス名] 待機中の時のウィンドウタイトル  titleDL=[クラス名] ダウンロード中のウィンドウタイトル  CNTimeout=[40000] 回線接続タイムアウト待ち時間(ms)  DLTimeout=[20000] ダウンロードタイムアウト待ち時間(ms)  DLBuff=[10240] ダウンロードバッファ(byte) 連続してダウンロードするサイズ、100〜10240で指定  DLPath=[指定無し(\直下)] ダウンロード先DIR 最後に\を付けないこと、指定DIRが存在しない場合はエラーになります  dellist=[0] ダウンロードが正常終了したURLリストの削除(0:削除無 1:削除有)  mkdir=[1] URL形式ダウンロードDIRの自動生成(0:無 1:有)  proxy=[指定無] プロクシ(サーバ名:ポートNo.の形式で指定)  Referer=[指定無] RefererURL文字列  Agent=[Mozilla/4.0] UserAgent文字列  Authid=[指定無] BASIC認証(ID:PASSの形式で指定)  HIDE=[0] 起動時の表示モード(0:表示 1:非表示)  CheckClip=[0] 起動時のクリップボード監視状態(0:無 1:有)  ※V3.1.0.0で無効 DLwait=[0] ダウンロード中待ち時間(ms) DLBuff分処理毎にWAITを入れます、指定すると他の通信用に帯域を空けることができます  ※V3.1.0.0で無効 NoWait=[0] 起動時のDLwait有効/無効(0:Waitする 1:Waitしない)  以下の形式で、URL毎に、RefererURL文字列、UserAgent文字列、BASIC認証(ID:PASSの形式で指定)を設定できます  必要なパラメータだけの指定で構いません  設定の無い物は、全体設定が適用されます  最大24個の設定まで有効です  host=URL部分文字列[|Agent=…][|Referer=…][|Authid=…] ex. Agent=Mozilla/4.0 host=abc.com|Authid=abc:123456 host=xyz.com|Referer=http://xyz.com/  URLに abc.com が含まれるときはBASIC認証に Authid=abc:123456 を適用  URLに xyz.com が含まれるときはRefererに http://xyz.com/ を適用  いずれも Agent は Mozilla/4.0 を適用する 【メニュー】 左ソフトキー、または非表示中のトレイアイコンタップでメニューが表示されます ・HIDE 表示/非表示を切替えます(非表示は、最小化とは異なります) ・PAUSE ダウンロード処理の一時停止を切替えます、一時停止ではHTTPのセッションを切断します ・EXIT 終了します ・OPEN 各ファイルを開きます、事前に、txt、ini、log拡張子にエディタが割当てられている必要があります ・CheckClip クリップボード監視を切替えます、監視中に有効なURLをクリップボードにコピーすると、URLDL.txtに追加します ・NoWait 正常に動作しないので、チェック固定 【画面表示】 ・1行目 現在の処理状態  WAITING 待機中、有効なURLの取得待ち  READ URL URLDL.txtの読込中  OPEN URL HTTPセッションの接続処理中  LOADING ダウンロード中  WRITE RESULT URLDL.txtにダウンロード結果の出力中  PAUSE 一時停止  WAITING CLOSE 終了処理中  WAITING PAUSE 一時停止処理中 ・2行目 ダウンロード済バイト数/全体バイト数(ダウンロード済比率%) ・3行目 ダウンロード開始からの経過秒数[予想残り秒数] ・4行目 平均ダウンロード速度(Kbps) ・5行目 ダウンロード中URL 【ステータス・メッセージ一覧】 URLDL.txt、URLDL.log に出力されるステータス/メッセージです ×:URLDLの常駐を解除します(処理継続不可な状態) △:現在のURLのダウンロードを中止して、次のURLのDLを開始します ○:現在のURLのダウンロードを継続、またはリトライします 101 × Downloadがユーザ指示で中断されました 102 × ログ出力エラー 103 ○ WinInetハンドル(OpenUrl)リセット 103 ○ WinInetハンドル(ReadFile)リセット 104 × ネットワーク接続がタイムアウトしました 104 × ネットワーク接続でerrorが発生しました 105 × WinInet DLL の初期化でerrorが発生しました 110 × listfileの初期化でerrorが発生しました 111 × listfileのopenでerrorが発生しました 112 × listfileの書込でerrorが発生しました 113 × listfileの書込ロック解除でerrorが発生しました 114 × TempFile削除でerrorが発生しました 131 △ URLのアクセスでerrorが発生しました 132 △ GETリクエストの送信でerrorが発生しました 133 △ サーバからerror STATUSが返却されました 134 △ Downloadファイルのクリアでerrorが発生しました 135 △ Downloadファイルのオープンでerrorが発生しました 136 △ ファイルサイズ不正(WEBサーバfilesize < DL filesize) 137 △ Downloadファイルのタイムスタンプ初期化でerrorが発生しました 138 △ Downloadファイルのタイムスタンプ更新でerrorが発生しました 150 × listfileの初期化でerrorが発生しました 151 × listfileの書込openでerrorが発生しました 151 × listfileの追記openでerrorが発生しました 152 × listfileの書込でerrorが発生しました 153 × listfileの書込ロック解除でerrorが発生しました 153 × listfileの追記ロック解除でerrorが発生しました 154 × TempFile削除でerrorが発生しました 200 ○ GETリクエストがタイムアウトしました 300 ○ ネットワーク接続チェックでerrorが発生しました 400 ○ Downloadデータ受信がタイムアウトしました 500 ○ Downloadデータ受信でerrorが発生しました 600 ○ Downloadが途中で中断されました(WEBサーバfilesize > DL filesize) 899 ○ (ダウンロード中) 900 ○ GetFile success 901 ○ 既にファイルはDownload済(更新日一致)です 902 ○ 既にファイルはDownload済(size一致)です 903 ○ 既にファイルはDownload済(resumeオーバ)です --- ○ URLDLの常駐を開始します --- × URLDLの常駐を解除します --- ○ クリップボードの監視を開始します --- ○ クリップボードの監視を停止します --- × URLDLのリセットでerrorが発生しました --- × listfileの書込がタイムアウトしました --- ○ トレイアイコン生成エラー --- × 実行可能多重度数オーバー 【諸元値】 アプリケーションの制限値です 設計上の数値であり、この数値で動作を確認した訳ではありません、また越えた場合にどうなるかも未確認です ・URL文字列 1024文字 ・エンコード前Authid(ID:PASS形式) 256文字 ・エンコード後Authid(ID:PASS形式) 512文字 ・Agent文字列 512文字 ・Proxy(サーバ名:ポートNo.形式) 512文字 ・ダウンロードファイルサイズ 2GB(2,147,483,647 bytes) ・ダウンロードファイルフルパス 1024文字 ・URLDL.exe格納フルパス 256文字 ・URLDL.exe格納フルパス(ダウンロード先パス) 256文字 ・ウィンドウタイトル文字列 32文字 ・host設定数 24行 【その他の機能】 @ 以下の形式で、URLDL.txtのURLリスト毎にも、Agent、Referer、Authidを指定できます 設定優先度は iniの全体設定 < iniのHOST毎設定 < URLDL.txt設定 です Autuid/AuthidE は何れかを指定、両方指定した場合の動作は保証外  http://〜URL〜[|Agent=…][|Referer=…][|Authid=…]  http://〜URL〜[|Agent=…][|Referer=…][|AuthidE=…(エンコード後のBASIC認証 ID:PASS)…] A 以下のタイミングで、同一DIRにある特定の名前のショートカットを起動します ショートカットが存在しない場合は、何もしません(エラーにもなりません) ・常駐開始時 URLDL_start.lnk ・ダウンロード開始時 URLDL_start_d.lnk ・ダウンロード終了時(有効なURLが全て無くなった) URLDL_end_d.lnk ・常駐終了時 URLDL_end.lnk B 引数に「M」を付けると、多重起動し、多重でダウンロードします(非推奨、結局全体のスループットはあまりかわらないみたいです) OS標準ではそれぞれのタスクを個別選択できなくなるので、タスク管理ソフトと併用してください 多重起動時のクラス名は URLDL_main_X(Xは0〜の連番) となります クリップボード監視は URLDL_main_0 でのみ有効になります 【制限・注意事項】 @ タイムアウト値を不要に短くすると、処理を開始できなくなります W-SIM使用時にはデフォルト値(以上)での使用をお薦めします A 多重起動する時にW-SIMの回線接続中に2つ目以降を起動すると回線をつかめずにエラー終了し、更にデバイスをソフトリセットをしないとURLDLが動作しなくなるという事象があります 対処は可能なのですが、通常処理が重くなるのと、多重起動は使うことがあまりなさそうなので保留 B URLDL.txt、URLDL.ini、を操作するGUIはありません(対応予定無し、誰か作って欲しいです、I/Fの追加要望があれば受付けます) C httpのみサポート、ftp、httpsは非サポート(対応予定無し) D調べた結果、DLwaitパラメータは全く意味がないことがわかりました、Ver3.1で指定を無効化しています(画面上はwaitが入っている様に見えても、裏でダウンロードが継続します) 【補足】 上手くダウンロードできない場合の問合せは以下でお願いします ・UserAgent、Referer、BASIC認証、サーバのレジューム有無、等の動作を理解して使用してください ・ログをレベル2で採取してください ・原則、再現性のある事象を報告お願いします 【更新履歴】 ・2009年10月15日 Version 3.2.0.1  URLパスの各要素が128文字を越えていると、DIRを生成できないバグを修正  クリップボードからの転送が256文字で切られていたバグを修正 ・2009年3月20日 Version 3.2.0.0  ホストのレジューム可否状態の表示を追加 ・2008年10月22日 Version 3.1.0.0  クリップボード監視開始時にクリップボードのクリアを追加  ダウンロード中にトレイアイコンのアニメーションを追加  DLwaitパラメータは全く意味がないことがわかったので無効化(制限事項D参照) ・2008年 3月22日 Version 3.0.0.0  クリップボード監視を追加  Wait有無の切替えを追加  トレイアイコンメニューを追加  その他、いろいろ修正 ・2008年 3月 5日 Version 2.2.1.2  URLにファイル名不可文字が含まれていた場合の処理バグを修正 ・2008年 2月21日 Version 2.2.1.1  UAProxy(http://d.hatena.ne.jp/tmyt/)対応  一時停止を追加 ・2008年 2月15日 Version 2.2.1.0  IECashe未使用対応 ・2008年 2月14日 Version 2.1.0.0  ホスト毎のBasic認証、UserAgent、リファラ設定を追加  若干性能向上  画面に表示する状態メッセージを若干追加 ・2008年 2月2日 Version 2.0.0.0  ウィンドウ、トレイアイコン表示  ダウンロード状態表示(サーバファイルサイズ、DL済サイズ、経過時間、終了予想時間、平均DL速度、DL中URL)  多重処理対応(評価モード)  ダウンロード完了URLのLIST削除有無を選択可  URL形式DIRの自動生成有無を選択可  その他、iniファイルのパラメータ追加  ステータス 〜109、899 の扱いを変更(多重処理対応のため)  若干、安定性向上 ・2008年 1月14日 Version 1.0.0.0  レジューム対応サーバの場合、受信済みの判定が正しくなかったのを修正  URLエラー時に、不要な0バイトファイルができるのを修正  ショートカット呼び出しタイミングを追加  リストファイルのステータスに 899 を追加 ・2008年 1月 9日 Version 0.0.0.2  β2版  エラー後になるべく処理継続できるように修正  URLDL_start.lnk、URLDL_end.lnkが無くてもエラーMSGが出ないように修正  ファイル更新日の処理を追加  ファイル更新日、ファイルサイズチェック処理を修正  その他幾つか修正 ・2008年 1月 5日 Version 0.0.0.1  β版公開  ダウンロード中回線切断すると稀にタイムアウトできずにプロセスがフリーズする事象を修正  ダウンロード開始時の接続失敗とURL誤りを判別  プロクシ指定を可能  iniファイルのパラメータ追加  起動、終了時のショートカット呼び出し追加  その他いろいろ修正 ・2007年12月--日 Version 0.0.0.0  α版公開 【おことわり】 本ソフトウェアを使用した結果のいかなる損害に対しても作者は責任は負いません 【配布】 内容を変更しない限り再配布は自由とします。連絡は不要です。 ただし雑誌等、商業掲載する場合は、事前に通知をお願いします。 【著作権】 本ソフトウェアはフリーウェアです。全著作権は作者にあります。