Страница 5 из 30
					
				libcurl for Clarion
				Добавлено: 12 Ноябрь 2015, 20:11
				 Дед Пахом
				Вроде все основные функции закрыл:
- выгрузка файлов с сервера
- загрузка файлов на сервер
- HTTP GET/POST с возможностью прочитать ответ сервера
- Поддержка SSL
Тестировал на протоколах http, https, ftp, sftp, ftpes.
Краткий туториал в файле \doc\How-To.txt.
  
 
 
 
			
					
				libcurl for Clarion
				Добавлено: 19 Ноябрь 2015, 8:01
				 Admin
				Дед Пахом писал(а):Точу уже
 
Просто я все равно не очень доверяю этим виндовым серверкам. Хотелось бы на взрослом sshd проверить.
 
			
					
				libcurl for Clarion
				Добавлено: 19 Ноябрь 2015, 8:55
				 Дед Пахом
				v1.03 доступна. Добавил FTP Manager в собранном виде, для тех, у кого нет C10.
SSH: на моём игрушечном сервере выдаёт список каталогов, но не разрешает upload/rename/delete (говорит, прав недостаточно, и маски папок все drw-rw-rw). Вобщем, просьба потестить на реальных sFTP.
 
			 
			
					
				libcurl for Clarion
				Добавлено: 19 Ноябрь 2015, 9:02
				 Admin
				Не совсем шарю в этих SHH... Что то ругается при методе Any: "SSH public key authentication failed: Unable to extract public key from private key file: Unable to open private key file"
			 
			
					
				libcurl for Clarion
				Добавлено: 19 Ноябрь 2015, 9:07
				 Дед Пахом
				Выбери "Password"
			 
			
					
				libcurl for Clarion
				Добавлено: 19 Ноябрь 2015, 9:39
				 Admin
				Ага. Сходил к себе на сервак. Работает!
			 
			
					
				libcurl for Clarion
				Добавлено: 19 Ноябрь 2015, 9:44
				 Дед Пахом
				Все команды отрабатывают? Загрузка/удаление/переименование?
Ещё бы проверить режим PublicKey, вот как он по идее работает:
Код: Выделить всё
> curl_easy_setopt(curlUp, CURLOPT_SSH_AUTH_TYPES, CURLSSH_AUTH_PUBLICKEY); 
> curl_easy_setopt(curlUp, CURLOPT_SSH_PUBLIC_KEYFILE, "home/squirem/.ssh/id_rsa.pub"); 
> curl_easy_setopt(curlUp, CURLOPT_SSH_PRIVATE_KEYFILE, "home/squirem/.ssh/id_rsa"); 
> curl_easy_setopt(curlUp, CURLOPT_SSH_KNOWNHOSTS, "/home/squirem/.ssh/known_hosts"); 
> curl_easy_setopt(curlUp, CURLOPT_KEYPASSWD, "mypasswd"); 
 
			
					
				libcurl for Clarion
				Добавлено: 19 Ноябрь 2015, 9:47
				 Admin
				Некогда пока на работе проверять. 
Файл пробовал скачать. Он скачался но внутри оказался список файлов в директории на сервере а не содержимое файла с сервера 

 
			
					
				libcurl for Clarion
				Добавлено: 19 Ноябрь 2015, 9:49
				 Admin
				Может Игорь Столяров проверит, у него похоже задача есть реальная.
			 
			
					
				libcurl for Clarion
				Добавлено: 19 Ноябрь 2015, 10:00
				 Дед Пахом
				Admin писал(а): Файл пробовал скачать. Он скачался но внутри оказался список файлов в директории на сервере а не содержимое файла с сервера 
 
Виноват, выплеснул ребёнка 

 Исправил, перезалил.
 
			
					
				libcurl for Clarion
				Добавлено: 19 Ноябрь 2015, 10:14
				 Admin
				Дед Пахом писал(а): Исправил, перезалил.
 
Проверил. Работает. 
Только не стоит при скачивании файла с сервера, весь его контент выдавать в текстбокс с логом команд.
Это так... к слову.
 
			
					
				libcurl for Clarion
				Добавлено: 19 Ноябрь 2015, 10:16
				 Дед Пахом
				Попутно обнаружил ошибку в svapifnc.inc: SendMessage должна возвращать LONG, а не BYTE - это важно, если использовать SendMessage для определения длины текста:
Код: Выделить всё
nTextLen = SendMessage(hwndTxt, WM_GETTEXTLENGTH, 0, 0)
 
			
					
				libcurl for Clarion
				Добавлено: 19 Ноябрь 2015, 10:17
				 Admin
				Закачка, скачивание, переименование и удаление работают.
Создание каталога работает. Удаление каталога не нашел.
P.S. По SendMessage, опиши свой прототип и его используй. Так будет лучше.
			 
			
					
				libcurl for Clarion
				Добавлено: 19 Ноябрь 2015, 10:20
				 Дед Пахом
				Admin писал(а): Только не стоит при скачивании файла с сервера, весь его контент выдавать в текстбокс с логом команд.
 
Это, вроде, не от меня зависит (что приходит в колбэк, то и вывожу), но посмотрю, может есть команда отключения.
Admin писал(а): P.S. По SendMessage, опиши свой прототип и его используй. Так будет лучше.
 
Да так и сделал.
 
			
					
				libcurl for Clarion
				Добавлено: 19 Ноябрь 2015, 10:23
				 Admin
				Кстати, я не совсем понял. 
Для каждой команды сейчас используется новая сессия (для простоты), но можно же сделать все в одной сессии или нет?
По выдаче текста, понятно. Но при получении бинарки с окном начинает хрень твориться. что то дергается и т.д.
Нужно как то отключать это или дать возможность при получении/передачи отрубать колбэк. Это уже мелочи.
			 
			
					
				libcurl for Clarion
				Добавлено: 19 Ноябрь 2015, 10:26
				 Дед Пахом
				Admin писал(а): Для каждой команды сейчас используется новая сессия (для простоты), но можно же сделать все в одной сессии или нет?
 
Можно и в одной сессии.