![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - ошибка при скачивании файла с сайта!!! |
|
C/C++ - ошибка при скачивании файла с сайта!!!
|
Новый участник Сообщения: 10 |
Добрый день!
Господа программисты помогите решить проблему! а проблема в следующем: нужно периодически скачивать файлик с определённого сайта, через прокси. (и прокси и конечный сайт требуют аутентентификации!) использую компоненты Indy BCBuilder 6. в инете куча инфы для Delphi, но мне нужно именно на с++. TFileStream *file_str = new TFileStream("имя файла", fmCreate); IdHTTP1->Request->ProxyServer = ""; IdHTTP1->Request->ProxyPort =3128; IdHTTP1->Request->ProxyPassword = ""; IdHTTP1->Request->ProxyUsername = ""; IdHTTP1->Request->Username =""; IdHTTP1->Request->Password = ""; IdHTTP1->Get("путь к файлу...", file_str); delete file_str; при выполнении строки IdHTTP1->Get("путь к файлу...", file_str); выдаётся ошибка: Project Project1.exe raised exception class EIdProtocolReplyError with message '403 Forbidden' ... на сколько я понял аутентификация через прокси проходит, но вот конечный сервер ругается! может быть я не там задаю логин и пароль для конечного сервака? заранее благодарен! |
|
Отправлено: 17:16, 12-05-2008 |
Новый участник Сообщения: 10
|
Профиль | Отправить PM | Цитировать решил отказаться от компонентов и воспользоваться апишными функциями! но и здесь возникли проблемы!!! а именно:
dwStatusSize:=Sizeof(dwStatus); OpenHandle:=InternetOpen(PChar('Project1.exe'),INTERNET_OPEN_TYPE_PROXY, PChar(Proxy), nil, 1); // функция выполняется и возвращается значение $CC0004, значение мне не известно??? GetLastError возвращает код - 0. ConnectHandle:=InternetConnect(OpenHandle, PAnsiChar(Server), INTERNET_DEFAULT_HTTPS_PORT, PChar(LoginServ), PChar(PassSer), INTERNET_SERVICE_HTTP, 0,0); //функция выполняется и возвращается значение $CC0008, значение мне не известно??? GetLastError возвращает код - 0. ResourceHandle:=HTTPOpenRequest(ConnectHandle, 'GET',PAnsiChar(RemoteFile), 'HTTP/1.0', nil, nil, INTERNET_FLAG_KEEP_CONNECTION, 0); // результат $CC000С, GetLastError возвращает код - 122!!! толком описания этого кода я не нашёл! InternetSetOption(ResourceHandle, INTERNET_OPTION_PROXY_USERNAME, PAnsiChar(Login), Length(Login)+1); InternetSetOption(ResourceHandle, INTERNET_OPTION_PROXY_PASSWORD, PAnsiChar(Password), Length(Password)+1); HttpSendRequest(ResourceHandle, nil, 0, nil, 0); //результат функции True! //в логах прокси сервера запроса нет!!! то есть непонятно, почему функции срабатывают и возвращают положительные ответы о выполнении, а прокси сервер ни одного обращения к удалённому серверу не фиксирует???? cnil:=0; HttpQueryInfo(ResourceHandle, HTTP_QUERY_FLAG_NUMBER or HTTP_QUERY_STATUS_CODE, @dwStatus, dwStatusSize, cnil); // результат функции True! if (dwStatus = HTTP_STATUS_NOT_FOUND) then begin InternetCloseHandle(ResourceHandle); InternetCloseHandle(ConnectHandle); InternetCloseHandle(OpenHandle); raise Exception.Create('Файл не найден '+RemoteFile); end; if (dwStatus = HTTP_STATUS_PROXY_AUTH_REQ) then begin InternetCloseHandle(ResourceHandle); InternetCloseHandle(ConnectHandle); InternetCloseHandle(OpenHandle); raise Exception.Create('Неверный пользователь Proxy'); end; AssignFile(F,LocalFile); ReWrite(F); r:=0; InTag:=false; repeat InternetReadFile(ResourceHandle, @Buffer, SizeOf(Buffer), BufferLen); BlockWrite(F, Buffer, BufferLen); //буфер содержит какие-то данные, но очень небольшого объёма, хотя скачиваемый файл около 3-х метров? until BufferLen = 0; CloseFile(F); в чём ошибка??? |
Отправлено: 16:09, 16-05-2008 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Ошибка 403 при скачивании файла | VtaMC | Вебмастеру | 10 | 26-12-2009 01:34 | |
[решено] Ошибка приложения svchost.exe при обновлении с сайта windows update | alex911k | Microsoft Windows NT/2000/2003 | 3 | 11-06-2009 15:33 | |
Непонятная ошибка virtualdub при просмотре либо конвертации DV файла-ошибка only в VD | illusionmgs | Видео и аудио: обработка и кодирование | 9 | 21-03-2009 14:47 | |
Ошибка при копирование файла. | slavamlad | Microsoft Windows 2000/XP | 12 | 13-03-2005 03:49 | |
ошибка при запуске файла | leg10ner | Microsoft Windows 2000/XP | 8 | 09-03-2005 08:42 |
|