Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.76/37: Рейтинг темы: голосов - 37, средняя оценка - 4.76
0 / 0 / 0
Регистрация: 29.10.2012
Сообщений: 50

WinApi, FTP скачать файл с сервера

02.07.2014, 22:31. Показов 7874. Ответов 26
Метки нет (Все метки)

В общем не качает((
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
// 123123.cpp: определяет точку входа для консольного приложения.
//
#include <Windows.h>
 
#include <WinInet.h>
#include <conio.h>
using std::cout;
using std::cin;
using std::endl;
 
 
#pragma comment (lib, "wininet.lib")
 
void upload(LPCSTR server, LPCSTR login, LPCSTR pass, LPCWSTR local_file, LPCWSTR remote_file)
{
    HINTERNET hOpen, hConnection;
   
 
    hOpen = InternetOpen(NULL, INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
   
    hConnection = InternetConnectA(hOpen, server, INTERNET_DEFAULT_FTP_PORT,login, pass, INTERNET_SERVICE_FTP, 0, 0);
                                
    if(FtpGetFile(hConnection, local_file, remote_file,0,0,0,0))
                  cout << "Success Story" << endl;
    else
        cout << "Epic Fail!" << endl;
                 
    InternetCloseHandle(hConnection);
    InternetCloseHandle(hOpen);
}
 
 
int main()
{
    upload("ftp.eimb.ru","","",_T("COMP430D.DOC"), _T("C://COMP430D.DOC"));
 
    system("pause");
    return 0;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.07.2014, 22:31
Ответы с готовыми решениями:

WinApi ftp server
Доброго времени суток всем! Возникла следующая необходимо написать программу реализующую часть функциональности ftp сервера позволяющую...

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

Как скачать файл размером 11 Мб с FTP-сервера?
Пытался скачать через ftp командой get файл весом 11мб не хочет качать, как мне его скачать?

26
0 / 0 / 0
Регистрация: 29.10.2012
Сообщений: 50
03.07.2014, 16:45  [ТС]
хорошо, спасибо огромное, завтра буду тестировать))) Спасибо еще раз

Добавлено через 15 часов 23 минуты
Все отлично работает)) Теперь еще надо бы вывести список файлов , знаю есть функция FtrFindFirstFile но как ее использовать??

Добавлено через 12 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void Upload(LPCWSTR server, LPCWSTR login, LPCWSTR pass, LPCWSTR local_file, LPCWSTR remote_file)
 {
 HINTERNET hOpen, hConnection;
 
    hOpen = InternetOpen(NULL, INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
 
    hConnection = InternetConnectW(hOpen, server, 21, login, pass, INTERNET_SERVICE_FTP, 0, 0 );
 
    if(FtpPutFileW(hConnection, local_file, remote_file, FTP_TRANSFER_TYPE_UNKNOWN, 0))
        cout << "Success Story" << endl;
    else
        cout << "Epic Fail!" << endl;
 
    InternetCloseHandle(hConnection);
    InternetCloseHandle(hOpen);
    }
Не закачивает(((

Добавлено через 55 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void List(LPCWSTR server, LPCWSTR login, LPCWSTR pass)
 {
     LPWIN32_FIND_DATA FData;
      HINTERNET hOpen, hConnection;
      
       
 
    hOpen = InternetOpen(NULL, INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
 
    hConnection = InternetConnectW(hOpen, server, 21, login, pass, INTERNET_SERVICE_FTP, 0, 0 );
 
     FtpFindFirstFileW(hConnection, NULL,&FData,0,0);
    
    //printf("%s",FData->cAlternateFileName);
    InternetCloseHandle(hConnection);
    InternetCloseHandle(hOpen);
 }

В Общем не выводит список файлов(( пишет ошибку, Run-Time Check Failure #3 - The variable 'FData' is being used without being initialized.
0
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,822
03.07.2014, 21:39
Цитата Сообщение от vlad-chk Посмотреть сообщение
Run-Time Check Failure #3 - The variable 'FData' is being used without being initialized.
Полезный навык читать ошибки и выполнять рекомендации, которые в них содержатся
Короче, инициализируй структуру FData.
0
0 / 0 / 0
Регистрация: 29.10.2012
Сообщений: 50
03.07.2014, 23:00  [ТС]
Это как? FData=NULL?

Добавлено через 1 минуту
я понимаю то написано(( Но не понимаю как исправить

Добавлено через 7 минут
А теперь вот при отладке , короче функция не работает(( http://i7.pixs.ru/storage/9/3/... 828937.jpg
0
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,822
03.07.2014, 23:03
Цитата Сообщение от vlad-chk Посмотреть сообщение
Это как? FData=NULL?
Ого, да это у тебя указатель, а не структура
P в имени, это же Pointer.
Нужно, чтобы был объект:
C++
1
WIN32_FIND_DATA FData;
Без P в имени типа.
Справку листани для подробностей.
1
0 / 0 / 0
Регистрация: 29.10.2012
Сообщений: 50
03.07.2014, 23:07  [ТС]
ага, спасибо, исправил, но теперь виснет (((
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 void List(LPCWSTR server, LPCWSTR login, LPCWSTR pass)
 {
     WIN32_FIND_DATA FData;
      HINTERNET hOpen, hConnection;
      
       
 
    hOpen = InternetOpen(NULL, INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
 
    hConnection = InternetConnectW(hOpen, server, 21, login, pass, INTERNET_SERVICE_FTP, 0, 0 );
 
     if (FtpFindFirstFileW(hConnection, NULL,&FData,0,0)==NULL)
         printf ("ERROR");
     else
    printf("%s",FData.cAlternateFileName);
    InternetCloseHandle(hConnection);
    InternetCloseHandle(hOpen);
 }
0
0 / 0 / 0
Регистрация: 29.10.2012
Сообщений: 50
09.07.2014, 15:58  [ТС]
В общем, получает список всего что нужно и нет, а именно и папок тоже! А нужно получить именно список файлов! Всех С сервера.. что делать?
0
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,822
09.07.2014, 16:24
vlad-chk, http://msdn.microsoft.com/ru-r... 85%29.aspx
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.07.2014, 16:24

Скачать файлы с ftp сервера
Доброе время суток Подскажите пожалуйста, как сделать так чтобы из всех папок где есть файлы они скачивались #Пароль и логин я уже...

Скачать файлы с FTP-сервера и закачать файлы на FTP-сервер
Сдравствуйте, как скачать и закачать файлы на ftp сервер без искажения и повреждения всех расшений, кроме текстовых? К примеру такая...

Как скачать файлы с FTP-сервера по маске и расписанию?
Задача: каждые полчаса соединяться с ФТП сервером (логин, пароль, не пассивный режим), из определенного каталога с кучей файлов скачивать...

Скачать файл с FTP
сто раз обсуждалось, но все таки, пример не работает, где ошибка порылась? Option Explicit On Public Class Form1 Private...

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


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

Или воспользуйтесь поиском по форуму:
27
Ответ Создать тему
Новые блоги и статьи
[golang] Конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
alhaos 10.06.2026
Задача Реализовать конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов. Сигнатура func Fetch(urls string, maxConcurrent int) Result Пример urls :=. . .
[golang] Состояние гонки (race condition)
alhaos 10.06.2026
Состояние гонки (race condition) Состояние гонки (Race Condition) — это ошибка, возникающая при одновременном доступе нескольких горутин к одним и тем же данным без должной синхронизации. При этом. . .
Взрослые отношения, и почему они не получаются
kumehtar 09.06.2026
Когда в детстве ребёнок не получает от родителей чего-то важного, он лишается не просто приятных переживаний, а основы для формирования определённых внутренних качеств и навыков. Если ребёнок не. . .
[golang] Worker Pool
alhaos 09.06.2026
Worker Pool Worker Pool — паттерн конкурентной обработки задач в Go. Суть: фиксированное количество горутин-воркеров читают задачи из общего канала и пишут результаты в общий канал результатов. . . .
[golang] Pipeline
alhaos 08.06.2026
Pipeline Pipeline — паттерн конкурентной обработки данных в Go. Суть: данные проходят через цепочку независимых стадий, каждая из которых работает в своей горутине и общается с соседями через. . .
Свет внутри себя
kumehtar 07.06.2026
Пусть это будет здесь lIs4oanZS9Y
Программа для com-порта
Uhbif79 05.06.2026
Всем привет, давно хотел изучить Qt, начинал, бросал, потом снова начинал. И сейчас вот смог написать свою первую программу. До этого имел опыт программирования микроконтроллеров, писал прошивки на. . .
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru