Zireael |
Отправлено: 15 Июля, 2019 - 14:40:02
|
Эксперт
Покинул форум
Сообщений всего: 4467
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Пример как скачать файл:
CODE:external(INT, "InternetOpen", "InternetOpenA", "Wininet.dll" );
external(INT, "InternetCloseHandle", "InternetCloseHandle", "Wininet.dll" );
external(INT, "InternetConnect", "InternetConnectA", "Wininet.dll" );
external(INT, "FtpSetCurrentDirectory", "FtpSetCurrentDirectoryA", "Wininet.dll" );
external(INT, "FtpGetFile", "FtpGetFileA", "Wininet.dll" );
int open, _close, connect, file, catalog;
string ftp="zireael.zzz.com.ua"; // фтп, исправить на свой
string login="логин"; // исправить на свой
string pass="пароль"; // исправить на свой
open=InternetOpen("Microsoft Internet Explorer", 0, 0, 0, 0);
connect=InternetConnect(open, ftp, 21, login, pass, 1, 134217728, 0);
catalog=FtpSetCurrentDirectory(connect, ftp);
file=FtpGetFile(connect, "time.txt", "time.txt", 0, 0, 0); // скачать файл time.txt в папку с кибор
_close=InternetCloseHandle(connect);
Всё остальное примерно также. |
|
|
Zireael |
Отправлено: 16 Июля, 2019 - 02:06:07
|
Эксперт
Покинул форум
Сообщений всего: 4467
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: мож у этих функций есть чет типа дебаг режима.... что бы отследить.
InternetGetLastResponseInfoA.
CODE:external(INT, "InternetOpen", "InternetOpenA", "Wininet.dll" );
external(INT, "InternetCloseHandle", "InternetCloseHandle", "Wininet.dll" );
external(INT, "InternetConnect", "InternetConnectA", "Wininet.dll" );
external(INT, "FtpSetCurrentDirectory", "FtpSetCurrentDirectoryA", "Wininet.dll" );
external(INT, "FtpGetFile", "FtpGetFileA", "Wininet.dll" );
external(INT, "InternetGetLastResponseInfo", "InternetGetLastResponseInfoA", "Wininet.dll" );
int open, _close, connect, file, catalog;
string ftp="zireael.zzz.com.ua"; // фтп, исправить на свой
string login="1111"; // исправить на свой
string pass="2222"; // исправить на свой
char c[9999];
int error, size_c=sizearray(c);
open=InternetOpen("Microsoft Internet Explorer", 0, 0, 0, 0);
if(open)
{
connect=InternetConnect(open, ftp, 21, login, pass, 1, 134217728, 0);
if(connect==0)
{
InternetGetLastResponseInfo(address(#error), address(#c[0]), address(#size_c));
messagebox(format(#c[0], size_c));
}
_close=InternetCloseHandle(connect);
}
В данном случае напишет что не выполнен вход, потому что логин и пароль неправильные.
Если будет где потестить, то могу посмотреть что не работает. |
|
|
AdryV |
Отправлено: 16 Июля, 2019 - 09:34:49
|
Специалист
Покинул форум
Сообщений всего: 449
Дата рег-ции: Май 2016
Репутация: 11
|
в общем разобрался помогла функция) InternetGetLastResponseInfo
Zireael пишет: catalog=FtpSetCurrentDirectory(connect, ftp);
тут я не правильно указывал путь к самому каталогу где лежит файл time.txt
у меня путь к рабочей папке идет чет типа этого
/domains/сайт.xsph.ru/public_html/write_read/pc_id/
а если писать путь ftp+"/domains/сайт.xsph.ru/public_html/write_read/pc_id/" это уже не правильно.
Zireael пишет: file=FtpGetFile(connect, "time.txt", "time.txt", 0, 0, 0); // скачать файл time.txt в папку с кибор
тут нужно указывать путь где сохранить файл просто time.txt не сохраняет в папке с кибор ахз где он девается
file=FtpGetFile(connect, "time.txt", "c:\time.txt", 0, 0, 0);
так заработало
всем спасиб |
|
|
|