Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Итрернет


Автор: Kefir 30.1.2003, 04:36
Допустим в и-нете лужит файл http://www.somesite.com/file.ext
как мне его скачать на комп?

Автор: Klin 30.1.2003, 04:40
Код
NMHTTP1->InputFileMode=true;
NMHTTP1->Get("http://www.somesite.com/file.ext");
NMHTTP1->Body="file.ext";

Только NMHTTP на форму добавь.

Автор: Kefir 30.1.2003, 05:32
а что за NMHTTP1? и вообще я бы хотел просто получить сожержание файла (именно код или то что там будет) в какую-нибудь переменную. можно допустим прямо в CString читать файл? если да то как, и желательно без всяких форм а просто для консольного приложеньица.

Автор: stab 30.1.2003, 05:56
можно такой вариант
URLDownloadToFile(NULL, "http://www.ru/somefile.zip", "c:\\zip.zip", 0, NULL);

или такой

HINTERNET ses = InternetOpen("cool browser", 0, NULL, NULL, 0);
HINTERNET ur = InternetOpenUrl(ses, "http://www.ru/somefile.zip", NULL, 0, 0, NULL);
char buf[1024 * 4]; // 4K, лучше больше
DWORD rd;
InternetReadFile(ur, buf, sizeof(buf), &rd); // в rd будет кол-во прочитанных байт
InternetCloseHandle(ur);
InternetCloseHandle(ses);

Автор: Vit 30.1.2003, 06:51
Цитата(Kefir @ 29.1.2003, 20:32)
а что за NMHTTP1?

Это NetMaster компоненты для билдера...

Автор: Klin 30.1.2003, 16:38
Цитата
просто получить сожержание файла
А содержание, а я думал ты сам файл скачать хочешь...

Автор: Baa 30.1.2003, 18:33
Klin содержание - это и есть вест файл...
Kefir можно так:
CInternetSession *session;
session = new CInternetSession();
CStdioFile* sf = session->OpenURL ("http://devstate.by.ru/ng.txt");
CString str;
sf->ReadString (str);
AfxMessageBox (str);
delete session;
считает первую строку файла в переменную str
Если и такой вариант не нравится, могу сделать токо с использованием WinSock'a

Автор: Kefir 31.1.2003, 01:28
Пишу:
Код
void main()
{
CInternetSession *session;
session = new CInternetSession();
CStdioFile *file = session->OpenURL("www.hot.ee/theorcus/index.html");
CString str;
file->ReadString(str);
printf("%s\n", (LPCTSTR)str);
delete session;
}

Когда запускаю прогу получаю (в самой консоли пишет): This application has requested the Runtime to terminate it in an unusual way. Мммм.... хотелось бы узнать что имеется в виду... и что с этим делать...

Автор: Dead moroz 31.1.2003, 02:22
Ты в чем работаешь?

Автор: Klin 31.1.2003, 02:57
Baa, помойму он имел ввиду, что написано в самом файле.

Автор: Baa 31.1.2003, 17:31
Kefir попробуй писать это не в консольке...
тестилось в:
Visual C++ 7.0 mfc dialog based application

Автор: Kefir 1.2.2003, 17:22
В диалоге прекрасно работает. Спасибо, значит сделаю в диалоге.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)