指定したurlからファイルを取得する(fgetsの様に行単位で取得)

icon 項目のみ表示/展開表示の切り替え

概要

株価の全銘柄の時系列データを入手するために、インタネットサイトよりhtmlファイルを取得する必要があった。
その手始めとして作成したコマンドプロンプト用のプログラムである。
変更点は、C++のクラスを用いてバッファ管理をし、fgetsの様に行単位で取得できるようにした。

使用方法

たとえばgoogleのトップページをtest.htmに保存したい場合、コマンドプロンプト画面を開き、

url_line http://www.google.co.jp test.htm

と入力する。

なお、webサイトはunixベースを基本としているため、保存ファイルを開くときのfopenのオプションはテキストモードとしている。(WindowsとUnixの改行コードの扱いの違いから)画像ファイルを保存するときはバイナリーモードで開かなければならない。

プログラムの中身

InternetOpen 関数でwinlnetを開始し、InternetOpenUrl関数でurlを指定、InternetReadFileでデータを呼び出しているだけです。
INETクラスを使用することによりopen,getsにて行単位で取得できる。

ソース、実行ファイル

Visual C++ 5.0でコンパイルできました。wininet.libをプロジェクトに加えてください。

url_line.cpp url_line.exe