Форум программистов, компьютерный форум, киберфорум
C++: Сети
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
80 / 80 / 14
Регистрация: 27.06.2012
Сообщений: 555
Записей в блоге: 1
1

WinInet, не получается загрузить файл на FTP

07.04.2013, 06:37. Показов 1810. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Возникла проблема: не могу загрузить файл на FTP. Делаю так (предварительно, конечно же, открыв сессию):
C++
1
2
3
bool flag;
flag=FtpPutFile(conn_param,FileName.c_str(),FTPFileName.c_str(),FTP_TRANSFER_TYPE_BINARY,0);
if (flag) cout<<"Succesfully uploaded";
Но ничего не происходит, следовательно, flag==false. Что я делаю не так?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.04.2013, 06:37
Ответы с готовыми решениями:

Открыть ftp.exe, открыть соединение с FTP-сервером, залогиниться, загрузить файл в бинарном режиме и выйти
С помощью .bat мне нужно открыть ftp.exe, открыть соединение с ftp сервером, залогиниться, залить...

Загрузить файл по ftp
Пытаюсь загрузить html файл. Выскакивает ошибка: Необработанное исключение типа...

Загрузить файл с FTP-сервера
Нужно загрузить файл с удаленного сервера, именно загрузить потому что копирование запрещено...

Как загрузить файл на FTP
Плдскажите, как загрузить файл на FTP сервер, при попытке загрузить файл выдает ошибку procedure...

9
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
07.04.2013, 08:11 2
Быть может файл уже на сервере? Или попробуйте "INTERNET_FLAG_TRANSFER_BINARY". Так же на всякий скиньте код, как сессию открываете?

Не по теме:

Я в этом вопросе не шарю, но просто из интереса разобраться бы с вашей проблемой хотелось бы

0
80 / 80 / 14
Регистрация: 27.06.2012
Сообщений: 555
Записей в блоге: 1
07.04.2013, 08:26  [ТС] 3
nexen, проверял через обычный клиент - нет его на сервере.

Добавлено через 20 секунд
Но пробовать буду.
0
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
07.04.2013, 09:30 4
anonymous2797, если вдруг найдете решение раньше, чем вам ответят, отпишитесь о том, в чем была проблема, ладно?
0
80 / 80 / 14
Регистрация: 27.06.2012
Сообщений: 555
Записей в блоге: 1
07.04.2013, 14:55  [ТС] 5
nexen, ОК.

Добавлено через 31 секунду
Я пока под Linux, потому чуть позже.

Добавлено через 4 часа 28 минут
Не получается. Вот функция Connect():
C++
1
2
3
4
5
6
7
8
9
10
11
HINTERNET inet_open,conn_param;
void Connect(string Server,string Login,string Pass)
{
    
    cout<<"Try to connect..."<<endl;
    inet_open=InternetOpen(TEXT("iexplore"),INTERNET_OPEN_TYPE_DIRECT,NULL,NULL,0);
    conn_param=InternetConnect(inet_open,Server.c_str(),port,Login.c_str(),Pass.c_str(),
    INTERNET_SERVICE_FTP,INTERNET_FLAG_PASSIVE,0);
 
    
}
0
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
07.04.2013, 16:01 6
anonymous2797, проверял возвращаемые ошибки? Есть они?
0
80 / 80 / 14
Регистрация: 27.06.2012
Сообщений: 555
Записей в блоге: 1
07.04.2013, 16:01  [ТС] 7
nexen, а как?
0
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
07.04.2013, 17:02 8
anonymous2797, вроде бы для этого GetLastError() помогает.
Сделайте что-нибудь вида:
C++
1
2
3
4
5
6
7
8
9
10
11
12
HINTERNET inet_open,conn_param;
void Connect(string Server,string Login,string Pass)
{
    int x, y, z;
    cout<<"Try to connect..."<<endl;
    inet_open=InternetOpen(TEXT("iexplore"),INTERNET_OPEN_TYPE_DIRECT,NULL,NULL,0);
x = GetLastError();
    conn_param=InternetConnect(inet_open,Server.c_str(),port,Login.c_str(),Pass.c_str(),
    INTERNET_SERVICE_FTP,INTERNET_FLAG_PASSIVE,0);
y = GetLastError();
z = x+y;//Остановку ставите тут (лишняя операция) и смотрите коды ошибок x и y.
}
Находите его тут: http://msdn.microsoft.com/en-u... s.85).aspx
Отписываетесь здесь, что проблема найдена и устранена, ну и profit
1
80 / 80 / 14
Регистрация: 27.06.2012
Сообщений: 555
Записей в блоге: 1
08.04.2013, 16:27  [ТС] 9
nexen, спасибо, буду пробовать. Получится - отпишусь.

Добавлено через 23 часа 17 минут
nexen, x=0, y=12029, z=-858993460

Добавлено через 2 минуты
Т.е. InternetOpen() прошел успешно, а вот на InternetConnect() - The attempt to connect to the server failed.
0
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
09.04.2013, 12:38 10
anonymous2797, попробуй вместо y=GetLastError() поставить: http://msdn.microsoft.com/ru-R... s.85).aspx
Хотя точно не знаю, является ли это функцией получения расширенной информации по ошибке..
Если ошибка не в логине, адресе, пароле или порту, то я прямо-таки даже и не знаю
0
09.04.2013, 12:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.04.2013, 12:38
Помогаю со студенческими работами здесь

Загрузить/скачать файл по FTP протоколу
Господа, будьте добры, необходим рабочий пример. Заранее всем большое спасибо!

Загрузить/скачать файл по FTP протоколу
Господа, будьте добры, необходим рабочий пример. Заранее всем большое спасибо! Не могу найти...

Как загрузить файл на FTP сервер
Здравствуйте. Необходимо загрузить zip файл на ftp сервер. Ниже приведен код реализации программы...

Загрузить\Выгрузить файл(ы) на FTP в пассивном режиме
Всем привет! Столкнулся с проблемой, обмена с FTP (на IIS) с помощью Net.FtpWebRequest в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru