Модераторы: feodorv
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> InternetReadFile - Ошибки при работе, скачивание файла по HTTP 
V
    Опции темы
sOckets
Дата 24.8.2006, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


ЖгуПоПонедельникам
**


Профиль
Группа: Участник
Сообщений: 298
Регистрация: 24.8.2006
Где: ws2.lib

Репутация: нет
Всего: 2



Значит вот мой код,  по идее он должен по HTTP забирать файл...забирать то он забирает , только вот проблемка , он помимо истенного размера файла , туда ещё байт 500 приписывает...весь день сижу не могу понять...может кто поможе
Истинный размер - 421 888 байт
Скачанный размер - 422 300 байт)
Код

#include <windows.h>
#pragma comment(lib, "wsock32.lib")
#include <stdio.h>
#include <Wininet.h>
#pragma comment(lib, "Wininet.lib")
//---------------------------------------------------------------------------
void error(char *msg)
{
    MessageBox(0,0,msg,0);
}
char                    URL=">putty.exe";
int                    i;
HINTERNET                GET_FILE_HURL;    
HINTERNET                GET_FILE_SESSION;
char                    GET_FILE_URL[300];
bool                    GET_FILE_RESULT;
char                    GET_FILE_BUFFER[1024];
unsigned long            GET_FILE_READED,GET_FILE_OFFS;
char                    GET_FILE_NAME[100];
FILE                    *GET_FILE_FILE;

WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
    strcpy(GET_FILE_URL,"http://192.168.1.10/putty.exe");
    strcpy(GET_FILE_NAME,strstr(URL,">")+1);                // выдёргиваем имя файла
    DeleteFile(GET_FILE_NAME);
    GET_FILE_SESSION = InternetOpen("Microsoft FireFox",PRE_CONFIG_INTERNET_ACCESS,0,0,0);
                                                            // Открываем сессию
    GET_FILE_HURL = InternetOpenUrl(GET_FILE_SESSION,GET_FILE_URL,0,0,0,0);
                                                            // Стучимся к файлу
    GET_FILE_OFFS = 0;
    GET_FILE_FILE=fopen(GET_FILE_NAME,"wb");
    rewind(GET_FILE_FILE);
while (InternetReadFile(GET_FILE_HURL,GET_FILE_BUFFER,1024,&GET_FILE_READED))
{
    for (i = 0; i <= GET_FILE_READED;i++)
    {
        fputc(GET_FILE_BUFFER[i],GET_FILE_FILE);
    }
}
    fclose(GET_FILE_FILE);
    InternetCloseHandle(GET_FILE_SESSION);
    InternetCloseHandle(GET_FILE_HURL);
    return 0;
}


Это сообщение отредактировал(а) ilovewinsocks - 24.8.2006, 14:30


--------------------
Я Будущий сотрудник Google Inc. Юзаем Google Code Search для поиска исходников. Юзаем GMail как почту.
PM   Вверх
dumb
Дата 24.8.2006, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 1
Всего: 158



Код

//...
//    rewind(GET_FILE_FILE);
    while (InternetReadFile(GET_FILE_HURL,GET_FILE_BUFFER,1024,&GET_FILE_READED) && GET_FILE_READED)
    {
      fwrite(GET_FILE_BUFFER,1,GET_FILE_READED,GET_FILE_FILE);
    }
//...

PM MAIL   Вверх
sOckets
Дата 24.8.2006, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


ЖгуПоПонедельникам
**


Профиль
Группа: Участник
Сообщений: 298
Регистрация: 24.8.2006
Где: ws2.lib

Репутация: нет
Всего: 2



Супер , спасибо !


--------------------
Я Будущий сотрудник Google Inc. Юзаем Google Code Search для поиска исходников. Юзаем GMail как почту.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0629 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.