webGetter.jar (Java による汎用 HTTP クライアント)

Java で作成した汎用的な HTTP クライアントです。

curl のように使ったり、HTTP Ping のように使ったり、HTTP Traceroute のように使えたりします。


終了コード

ver2.3 より、HTTPステータスコードを終了コードとするように仕様を変更した。 それ以外の場合は、以下となる。
0通信の処理を実施するまでのエラー
1ボディが全て到着する前に切断された(ver2.2 までは 254)
2通信エラー(ver2.2 までは 255)



ファイル出力と Range ヘッダ

「-OutputBodyFile」引数があり、既にファイルが存在する場合は、Rangeヘッダを付けてリクエストする。
ver.2.4以降では、
・「-OutputBodyFile」で「HTTPステータスコード=206」→ 以前のまま、既存ファイルへ追記する ・「-OutputBodyFile」で「HTTPステータスコード=200」→ 以前のまま、既存ファイルを削除して新規作成する ・「-OutputBodyFile」で「HTTPステータスコードが上記以外」→既存ファイルをそのままとする

→ ver.2.4 で、既存ファイルが既に完成(ダウンロード完了)している場合、ファイルが壊れるバグが修正された。


使用例

curl のように
java.exe -jar webGetter.jar <<URL>> <<OPTION>> -OutputHeader -OutputBody -AutoCharSetDetect -UseWeakAlgorithm -DisableTLSSNI -UseSSL2
HTTPCurl.bat <<URL>> <<OPTION>>


HTTP ダウンローダー のように
java.exe -jar webGetter.jar <<URL>> <<OPTION>> -OutputBodyFile <<FILE>>
HTTPDownloader.bat <<FILE>> <<URL>> <<OPTION>>


HTTP ダウンローダー のように(レジューム対応)
java.exe -jar webGetter.jar <<URL>> <<OPTION>> -OutputBodyFile <<FILE>> -TimeOut <<Second>>
HTTPDownloaderResume.bat <<FILE>> <<Second>> <<URL>> <<OPTION>>


HTTP ping
java.exe -jar webGetter.jar <<URL>> <<OPTION>> -OutputTime
HTTPPing.bat <<URL>> <<OPTION>>


HTTP Traceroute
FOR /L %I in (0,1,<<COUNT>>) DO java.exe -jar webGetter.jar <<URL>> <<OPTION>> -METHOD TRACE -OutputTime -OutputHeader -OutputBody -Header "Max-Forwards: %I"
HTTPTRace.bat <<COUNT>> <<URL>> <<OPTION>>






ライセンス形態を ver5.4(2014/07/12) から修正 BSD ライセンスにします。

当然ですが、悪用厳禁です。

著作権は保持します。(とりあえず...)
しかし、プログラムの実行においては、各自の責任で行ってください。

このソフトを使用したいかなる不正使用に関する責任は、
すべて、本プログラムの利用者に属します。

プログラムの改変については、各自の責任で行う分については、自由に行って結構です。(参考になりましたメールをくれると、うれしい...(*^_^*))

(修正BSDライセンスにしても、あまり、ライセンス条項って変わっていないような気がするんだよなぁ〜)


C:\>webGetter.bat
usage: java webGetter url [options]
     -ProxyHost <<Hostname>>
     -ProxyPort <<proxyPort>>
         default:No_Proxy
     -ProxyType [socks|http](default:http)
     -Header <<string(aaa:bbb)>>
     -Method <<string{GET/POST/HEAD/OPTIONS/PUT/DELETE/TRACE (default:GET)}>>
     -ReadTimeout <<milliSeconds>>
     -NoReadTimeout
     -ConnectTimeout <<milliSeconds>>
     -NoConnectTimeout
     -Timeout <<milliSeconds>> // Read&ConnectTimeout Set
     -NoTimeout                // Read&ConnectTimeout Set
     -BufferSize               // BufferSize (Default 4096byte
     -PostFile <<filePath>> // HTTPRequestBody from File
     -StdIn                 // HTTPRequestBody from STDIN
     -CharSet <<string>>
     -AutoCharSetDetect
     -AutoRedirect
     -CertCheck
     -UseWeakAlgorithm // JDK7
     -DisableTLSSNI    // JDK7 TLS-SNI
     -UseSSL2          // use SSL2/3/TLS
     -UseSSL3          // use SSL3/TLS
     -UseTLS1          // use TLS1.0/1.1/1.2
     -UseTLS1.1        // use TLS1.1/1.2
     -UseTLS1.2        // use TLS1.2
     -OutputHeader                // Choose at least one
     -OutputBody                  // Choose at least one
     -OutputBodyFile <<filePath>> // Choose at least one
     -OutputTime                  // Choose at least one
                       default: -OutputHeader & -OutputBody
     -GuessContentType
     -Debugmode
     -SleepTime <<Seconds>> : Sleep before Exit
     -GUI    : Load GUI

           ver2.6 and Create by activewindow.goukaku.com

0



download
All files set
webGetter.lzh LZH file (36,351byte) (webGetter.lzh.base64)



ソースの説明

省略


Qiita に記事他を書いた

curl のような wget のような httping のようなウェブクライアント webGetter.jar


mail to active@window.goukaku.com