-PR-
締切済み

VC++でHTTPプロトコルを用いたファイルダウンロード

  • すぐに回答を!
  • 質問No.84169
  • 閲覧数981
  • ありがとう数1
  • 気になる数1
  • 回答数2
  • コメント数0

お礼率 10% (4/39)

サーバー上にあるファイルを要求クライアント上にダウンロードしたいのですが、どのようにすればいいのかわかりません。WinInetクラスを用いればいいということはわかるのですが、サーバー(http://***.***.***/~)のファイル(***)をダウンロードするという具体的なロジックが、知識不足からか組むことができません。

どなたかご教授ねがえませんでしょうか?よろしくお願い致します。
通報する
  • 回答数2
  • 気になる1
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全2件)

  • 回答No.1
レベル14

ベストアンサー率 50% (1122/2211)

APIを使うだけで十分かと思います。サンプルは山のように転がって
いますが、そのうちのひとつを参考URLに紹介します。
  • 回答No.2
レベル13

ベストアンサー率 33% (427/1283)

いくつか質問から...
 WININETクラスを使用するって事は、VC6.0でいいのかな?
 動作させたいOSは?
 IE4.0以降が必須になるけど問題ない?
 どの当りが解らないの?

 ロジックもないもないと思うけど...ヘルプに例から全部載っていますが...それでは不足なのでしょうか
VCのヘルプで、『インターネットのプログラミング : WinInet』で検索すると出て来ます。
以下、サンプルソース抜粋
-----------
//assumes server, port and URL names have been initialized
CInternetSession session("My Session");
CHttpConnection* pServer = NULL;
CHttpFile* pFile = NULL;
try{
CString strServerName;
INTERNET_PORT nPort;
pServer = session.GetHttpConnection(strServerName, nPort);
pFile = pServer->OpenRequest(CHttpConnection::HTTP_VERB_GET, strObject);
pFile->AddRequestHeaders(szHeaders);
pFile->SendRequest();
pFile->QueryInfoStatusCode(dwRet);
if (dwRet == HTTP_STATUS_OK) {
UINT nRead = pFile->Read(szBuff, 1023);
while (nRead > 0){
//read file...
}
}
delete pFile;
delete pServer;
}
catch (CInternetException* pEx){
//catch errors from WinInet
}
session.Close();
補足コメント
yomogikun

お礼率 10% (4/39)

早速の回答ありがとうございました!!
回答内容を参考にやってみます。

補足ですが、
使用ツールはVC6.0 対応OSは9Xシリーズ・2000・Meです。

buffにファイルデータを格納した後、クライアントの指定フォルダの中に保存するにはどのようにすればよろしいのでしょうか?
さらにさらに、
ダウンロード中によく表示される進行状況をあらわすバーはどのように組めばよろしいのでしょうか?

初心者という事をいいことに質問ばかりしてしまい、申し訳ありません。
投稿日時 - 2001-06-01 15:23:39
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


専門家があなたの悩みに回答!

-PR-

ピックアップ

-PR-
ページ先頭へ