- выгрузка файлов с сервера
- загрузка файлов на сервер
- HTTP GET/POST с возможностью прочитать ответ сервера
- Поддержка SSL
Тестировал на протоколах http, https, ftp, sftp, ftpes.
Краткий туториал в файле \doc\How-To.txt.
Модератор: Дед Пахом
Код: Выделить всё
SetPostFields PROCEDURE(STRING pPostFields), CURLcode, PROC
Код: Выделить всё
SetPostFields PROCEDURE(*IDynStr pPostFields), CURLcode, PROC
Легко! v1.33 уже в продаже.Игорь Столяров писал(а): 26 Август 2018, 18:26Может быть есть возможность рассмотреть пополнения зоопарка методом:Код: Выделить всё
SetPostFields PROCEDURE(*IDynStr pPostFields), CURLcode, PROC
Не знаю PHP, но по-моему там как раз файл загоняется в массив (в одном месте написано array, в другом [...]), видимо это массив байт или что-то подобное.Игорь Столяров писал(а): 26 Август 2018, 19:50Пиашписты, как-то возгоняют через POST файлы напрямую, вообще без загрузки в строку. Например, как вот здесь: https://toster.ru/q/295743
Начиная с PHP 5.4 возможно использовать короткий синтаксис определения массивов,
Ну так надо обновляться. Сейчас посмотрел, уже почти год как поставляю бинарники 7.55.1 в своем проекте
Код: Выделить всё
ssh LIKE(TSSHSettings), PRE(ssh)
!- default protocol (ftp/sftp), if not defined in url
IF ACC:AuthMethod = CURLSSH_AUTH_NONE
curl.SetDefaultProtocol('ftp')
ELSE
curl.SetDefaultProtocol('sftp')
END
!- port
IF ACC:Port
curl.SetOpt(CURLOPT_PORT, ACC:Port)
ELSIF NOT INSTRING(':', ACC:URL, 1, 1)
IF ACC:AuthMethod = CURLSSH_AUTH_NONE
curl.SetOpt(CURLOPT_PORT, 21) !ftp default port
ELSE
curl.SetOpt(CURLOPT_PORT, 22) !sftp default port
END
END
!- user/pwd
curl.SetUserPwd(ACC:UserId, ACC:UserPwd)
!- SSH settings
ssh.AuthMethod = ACC:AuthMethod
ssh.KeyPassword = ACC:KeyPassword
ssh.KnownHosts = ACC:KnownHosts
ssh.PrivateKeyFile = ACC:PrivateKeyFile
ssh.PublicKeyFile = ACC:PublicKeyFile
ssh.PublicKeyMD5 = ACC:PublicKeyMD5 !aded in v1.37
curl.SSHAuth(ssh)
Код: Выделить всё
ACC:AuthMethod = CURLSSH_AUTH_PUBLICKEY
ACC:UserId = 'mike'
ACC:UserPwd = '' !не нужен в данном случае
ACC:KeyPassword = '' !это та самая Passphrase
ACC:PrivateKeyFile = 'e:\DevTools\freeSSHd\PrivateKey.ppk'
ACC:PublicKeyFile = 'e:\DevTools\freeSSHd\mike'
[14616] [libcurl] TEXT: Trying 192.168.1.33...
[14616] [libcurl] TEXT: TCP_NODELAY set
[14616] [libcurl] TEXT: Connected to 192.168.1.33 (192.168.1.33) port 22 (#0)
[14616] [libcurl] TEXT: SSH MD5 fingerprint: cb41e224f048e963db28120b9a6d6ec7
[14616] [libcurl] TEXT: SSH authentication methods available: password,gssapi-with-mic,publickey
[14616] [libcurl] TEXT: Using SSH public key file 'e:\DevTools\freeSSHd\mike'
[14616] [libcurl] TEXT: Using SSH private key file 'e:\DevTools\freeSSHd\PrivateKey.ppk'
[14616] [libcurl] TEXT: Initialized SSH public key authentication
[14616] [libcurl] TEXT: Authentication complete
[14616] [libcurl] TEXT: Connection #0 to host 192.168.1.33 left intact
Это круто ! Но вылетела вся работа с FTP ...Дед Пахом писал(а): 14 Сентябрь 2018, 1:11Наконец удалось заставить работать SFTP с методом аутентификации "public key"
Всегда читаю !