[kaze's test] プログラミングメモ |
→目次 |
HTTPサーバーからファイルをダウンロードするAPI(VC++)
HTTPサーバーからファイルをダウンロードする為に、下記のAPIで簡単に実現できます。このAPIは、ファイルをダウンロードするのは勿論ですが、「http://search.yahoo.co.jp/search?p=softist&ei=UTF-8&x=wrt」のように、パラメータをサーバーに伝えることもできます。
HRESULT URLDownloadToFile(LPUNKNOWN pCaller,
LPCTSTR szURL,
LPCTSTR szFileName,
DWORD dwReserved,
LPBINDSTATUSCALLBACK lpfnCB);
ダウンロードしようとファイルがローカルにキャッシュされている場合は、下記のAPIでで削除してから、上記の関数を呼び出します。
BOOL DeleteUrlCacheEntry(LPCTSTR lpszUrlName);
例:Yahooのlogoをクリアしてから、ダウンロードして、Dドライブにファイル名をyahoo_logo.gifに変えて保存します。

#include "wininet.h"
void DownloadYahooLogo()
{
BOOL bRet = DeleteUrlCacheEntry(_T("http://k.yimg.jp/images/top/sp/logo.gif"));
HRESULT hRes = URLDownloadToFile( NULL,
_T("http://k.yimg.jp/images/top/sp/logo.gif"),
_T("D:\\yahoo_logo.gif"),
0,
NULL);
}
|