ファイルをダウンロードするプログラムです。
Dで通信してみたかったのでなんとなく作ってみました。
※ネムぃに同梱するかも。
CUIベースなんでプロンプトとかから呼び出してください。 オプションは下記の通り。
仮にhttp://www.abc.def/index.htmlというURIがあったとします。
とりあえず試す > httpeasydown --host=www.abc.def --path=index.html 標準出力にレスポンスhttpヘッダを表示 > httpeasydown --host=www.abc.def --path=index.html --s_head HTTP/1.1 200 OK Date: ***, - *** ---- --:--:-- GMT Server: Apache Last-Modified: ***, - *** ---- --:--:-- GMT ETag: "------------" Accept-Ranges: bytes Content-Length: --- Vary: Accept-Encoding Connection: close Content-Type: text/html 標準出力にレスポンスhttpボディを表示 > httpeasydown --host=www.abc.def --path=index.html --s_body <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja"> <head> <title>www.abc.def</title> </head> <body> <h1>www.abc.def</h1> <p> hello, world. </p> </body> </html> ファイル(abc.html)にレスポンスhttpボディを書き出し > httpeasydown --host=www.abc.def --path=index.html --f_body --output=abc.html オプション表示 > httpeasydown HTTP-easyDown 1.00 ------------------------------------------------------------------------------- --host="..." The host name or IP address. Not compatible with IPv6. --path=/ Demand a path to the host. If unspecified "/". --port=80 The destination port number. If you use unspecified 80. --user="?" If necessary connection users name. --pass="?" Password for the user name. --ua="?" User-Agent. If unspecified "HTTPGet/version" --lang="?" Accept-Language. If necessary --s_head Export standard output to the header. --s_body Export standard output to the body. --f_head Export to a file header. --f_body Export to a file body. --output=<...> "f_head" or "f_body" in the case of output file name. --retry=0 Number of reconnecting. --wait=500 Waiting time(ms).If unspecified 500ms. --size="?" Range. --buf=1024 Read block size. If unspecified 1024byte ------------------------------------------------------------------------------- Thank you, google translation. http://translate.google.co.jp/translate_t?hl=ja#
すきにして。 明記が必要ならNYSLってことで。