あまり良いサンプルが無かったので上げておく。
http://nienie.com/~masapico/api_HttpSendRequest.html
を参考にした。
そのうち全体として構成したソースコードを上げたいのだが、
まだサンプルを書いていないので、
取りあえずダウンロード部分の関数だけ。
int Web_Downloader(
char *Server_Host_Address,//ホストアドレス
char *FileLocation, //ファイルの場所
char *Referer , //リファラ
char *SaveDirectory , //保存先のディレクトリ
char *SaveName //保存する名前
);
例えば、
で紹介されているフリー素材の
をデスクトップにダウンロードしようとした場合、
Web_Downloader(
"www.hmix.net",
"music/c/c7.mp3",
"www.hmix.net" ,
"C:\\Users\\<<ユーザー名>>\\Desktop" , //.exeと同じディレクトリなら「"./"」
"星寂の散歩道.mp3" //拡張子も必要なので注意
);
のようにする事でダウンロードして保存される。
以下ソースコード
"www.hmix.net",
"music/c/c7.mp3",
"www.hmix.net" ,
"C:\\Users\\<<ユーザー名>>\\Desktop" , //.exeと同じディレクトリなら「"./"」
"星寂の散歩道.mp3" //拡張子も必要なので注意
);
のようにする事でダウンロードして保存される。
以下ソースコード
例の如く、Webで表示する関係上、tabをスペースで置換処理しているので、
ファイルとして置いておく。
MD5 | 6f2ddf168bdbf43ab98271f1f264c913 | 3.3 KB | Web_Downloader()関数
http://ux.getuploader.com/ADMIS/download/42/WinINet%28InternetReadFile%29%E3%81%AB%E3%82%88%E3%82%8B%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%28HTML%E3%82%82%E5%90%AB%E3%82%80%29%E3%81%AE%E3%83%80%E3%82%A6%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%89.zip
追記:
ヘッダにContent-Length:が定義されていないページの場合、
HTTP_QUERY_CONTENT_LENGTHの関係で、
関数が失敗する事が判明。(後で書き直そう……)
例えば、
Web_Downloader(
"www.google.co.jp",
"index.html",
"www.google.co.jp" ,
// "C:\\Users\\<<ユーザー名>>\\Desktop" , //.exeと同じディレクトリなら「"./"」
"R:\\" , //.exeと同じディレクトリなら「"./"」
"google.html" //拡張子も必要なので注意
);
みたいに、googleにアクセスすると、見事に失敗する。
0 件のコメント:
コメントを投稿