27 | 05 | 2017

Передача файлов через интернет по ftp из clipper или foxpro - программы 

Часто, особенно в последнее время, надо передавать различные данные, файлы из clipper или foxpro программы, работающих под DOS в среде Windows, через интернет в другой филиал, основной офис или головную программу. Проще всего организовать такую связь через FTP. Для этого используем утилиту WinSCP.  WinSCP - это графический клиент SFTP  для Windows с открытым исходным кодом.  Предназначен для защищённого копирования файлов между компьютером и серверами, поддерживающими эти протоколы. Скачать можете в интернете. Далее формируем файл скрипта, подставляем его и запускаем эту утилиту с параметром  winscp /console /script=p_sc , где р_sc - текстовый файл-скрипт.

 

Ниже, для примера, приведена функция, реализующая формирование скрипта и запуск утилиты для передачи (синхронизации) данных  

FUNCTION ftp_link(mode,m_file,new_name,m_file2,new_name2)
w_ind(0, -1)
p_sc = wdir1 + "\sc.fpt"
p_vhod = wdir1+"\"
p_scp=tekdir+"exe\winscp /console /script="+p_sc
ftp_serv = "bazila.net"
ftp_login = "softclipper"
ftp_pass="123456"
ftp_dir = "/update/"
ftp_dir_get = "update/"
Handle = FCreate( p_sc )
FWrite( Handle, 'open -passive ftp://' + ftp_login+":"+ftp_pass+"@"+ftp_serv + Chr(13) + Chr(10))
FWrite( HANDLE, 'option confirm off' + Chr( 13 ) + Chr( 10 ) )
FWrite( HANDLE, 'option transfer binary' + Chr( 13 ) + Chr( 10 ) )
if mode='SEND'
FWrite( HANDLE, 'put '+m_file+" " +ftp_dir+new_name+ Chr( 13 ) + Chr( 10 ) )
ELSE
FWrite( HANDLE, 'get -delete ' + ftp_dir_get + m_file + " " + p_vhod + new_name + Chr( 13 ) + Chr( 10 ) )
IF !Empty(m_file2)
FWrite( HANDLE, 'get -delete ' + ftp_dir_get + m_file2 + " " + p_vhod + new_name + Chr( 13 ) + Chr( 10 ) )
ENDIF
ENDIF
FWrite( HANDLE, 'close' + Chr( 13 ) + Chr( 10 ) )
FWrite( HANDLE, 'exit' + Chr( 13 ) + Chr( 10 ) )
FClose( HANDLE )
s_run(p_scp)
deletefile(p_sc)
w_ind(2)
RETURN

Использование функции:

    ftp_link("RESIV", "vozvr" + jnfil , "" ,"ucenka","" )

    ftp_link("SEND", putvyh, "" )

    ftp_link("RESIV", "base*.arj","" )

 

Возможности утилиты WinSCP

Утилита WinSCP выполняет все основные операции с файлами, такие как загрузкаи выгрузка файлов. Она также позволяет переименовывать файлы и папки, создавать папки, изменять свойства файлов и папок, а также создавать символические ссылки и ярлыки.

Один из двух интерфейсов программы позволяет также управлять файлами на локальном компьютере пользователя.

Соединение с серверами

При помощи WinSCP можно соединиться с сервером SSH (Secure Shell) по протоколу SFTP (SSH File Transfer Protocol) или SCP (Secure Copy Protocol), как правило с машинами под ОС UNIX. SFTP стандартно входит в реализацию протокола SSH-2SCP точно так же стандартно входит в реализацию протокола SSH-1. Оба этих протокола поддерживаются даже самыми свежими версиями SSH-серверов. WinSCP поддерживает как SSH-1, так и SSH-2.

Интерфейс

Программа WinSCP предлагает два пользовательских интерфейса, каждый из которых может быть настроен при помощи множества параметров.

Вы можете выбрать для себя интерфейс при установке. Позднее Вы также можете в любой момент выбрать используемый интерфейс.

Если Вы только начинаете использовать WinSCP, возможно Вы предпочтёте использовать интерфейс в стиле Проводника Windows Explorer, так как он хорошо известен всем пользователям ОС Windows. Однако, если Вы привыкли работать в программах типа Norton Commander, таких как целый ряд современных файловых менеджеров (Total Commander, FAR, Altap Salamander), выбирайте соответствующий интерфейс. Интерфейс как в Norton Commander более удобен для управления с клавиатуры, им можно пользоваться вообще без помощи мышки. 

Существует возможность запускать в консольном режиме, без графической оболочки с использованием файла-скрипта, что собственно и предлагается использовать для передачи файлов через интернет из DOS программ Clipper или FoxPro.


Поделитесь в соцсетях и получите сюрприз!