Автор | Сообщение |
|
| |
Пост N: 65
Зарегистрирован: 02.07.12
|
|
Отправлено: 25.03.17 18:45. Заголовок: HBCURL
Dima пишет: цитата: | Вот и все непонятки закончились после того как убил кучу времени. У DownloadFile проблема с длинными именами файлов , при чем в UploadFile этой проблемы нет. Не важно каков размер файла , важна для него длина имени файла. Прошу опровергнуть или подтвердить описанное поведение DownloadFile. |
| Добрый день. У меня точно такая же проблема нарисовалась в моей программе, как описывает Дима. Программа на отрез не хочет принимать с фтп длинные имена файлов. точь в точь как в этой теме http://clipper.borda.ru/?1-4-0-00000844-000-10001-0 Удалось ли Вам побороть данную проблему.? Как вышли из ситуации? Хочу перейти на HBCURL, но нужно описание всех функций, особенно получение списка файлов с фтп-сервера по маске и скачивание файлов с сервера. Поделитесь своими наработками пожалуйста. П.С. Вот кусок программы, в котором я пытаюсь скачать файлики с сервера, список получаю, а вот файл /файлы / скачать не удается... Скрытый текст curl_global_init() IF ! Empty( curl := curl_easy_init() ) DEFAULT cDL TO "ftp://"+ArmFTP+"/" curl_easy_setopt( curl, HB_CURLOPT_DOWNLOAD ) curl_easy_setopt( curl, HB_CURLOPT_DIRLISTONLY) curl_easy_setopt( curl, HB_CURLOPT_USERPWD, ArmLogin+":"+ArmPass ) curl_easy_setopt( curl, HB_CURLOPT_URL, cDL+"OUT"+"/"+ArmPostID+"/"+dt2+"/" ) curl_easy_setopt( curl, HB_CURLOPT_DL_BUFF_SETUP ) curl_easy_perform( curl ) //DOWNLOAD DIRLIST TO STRING dnfiles:= curl_easy_dl_buff_get( curl ) MsgInfo(dnfiles) curl_easy_reset( curl ) //получаю список файлов на сервере DEFAULT cDL TO "ftp://"+ArmFTP+"/" curl_easy_setopt( curl, HB_CURLOPT_DOWNLOAD ) curl_easy_setopt( curl, HB_CURLOPT_USERPWD, ArmLogin+":"+ArmPass ) curl_easy_setopt( curl, HB_CURLOPT_URL, cDL+"OUT"+"/"+ArmPostID+"/"+dt2+"/" ) curl_easy_setopt( curl, HB_CURLOPT_DL_FILE_SETUP, cFileName := "*.*" ) ??? по маске, либо через список не хочет. curl_easy_setopt( curl, HB_CURLOPT_FAILONERROR, .T. ) curl_easy_perform( curl ) MsgInfo("DOWNLOAD FILE _ FILENAME: ") а вот тут засада, файлы не скачиваются... нужна помощь. curl_easy_reset( curl ) curl_easy_cleanup( curl ) ENDIF curl_global_cleanup()
|
| |
|
Ответов - 65
, стр:
1
2
3
4
All
[только новые]
|
|
|
| |
Пост N: 7339
Зарегистрирован: 17.05.05
|
|
Отправлено: 06.05.21 17:33. Заголовок: Как понять с помощью..
Как понять с помощью HBCURL что подключаемся мы через мобильного провайдера ? Среди опций curl_easy_getinfo данных о прове не увидел.....
| |
|
|
| постоянный участник
|
Пост N: 1673
Зарегистрирован: 09.10.06
|
|
Отправлено: 08.05.21 22:10. Заголовок: Dima пишет: Как пон..
Dima пишет: цитата: | Как понять с помощью HBCURL что подключаемся мы через мобильного провайдера ? Среди опций curl_easy_getinfo данных о прове не увидел..... |
| Для cURL можно так Запрос curl -X GET http://ip-api.com/json/?fields=status,message,country,countryCode,isp,query Результат {"status":"success","country":"Ukraine","countryCode":"UA"," isp":" Kyivstar UA","query":"94.153.**.***"} Запрос curl -X GET http://ip-api.com/csv/?fields=status,message,country,countryCode,isp,query Результат success,Ukraine,UA,Kyivstar UA,46.211.**.*** Т.е. ответ можно получить в форматах JSON, XML, CSV.. [url=https://ip-api.com/docs/api:csv]Подробнее[/url]
| |
|
|
| постоянный участник
|
Пост N: 1684
Зарегистрирован: 09.10.06
|
|
Отправлено: 12.05.21 22:22. Заголовок: Dima пишет: Как пон..
Dima пишет: цитата: | Как понять с помощью HBCURL что подключаемся мы через мобильного провайдера ? |
| цитата: | #include "hbcurl.ch" #define CURL_HTTP_VERSION_2TLS 4 PROCEDURE Main() LOCAL curl, cStr curl_global_init() IF ! Empty( curl := curl_easy_init() ) curl_easy_setopt( curl, HB_CURLOPT_BUFFERSIZE, 102400 ) curl_easy_setopt( curl, HB_CURLOPT_URL, "http://ip-api.com/csv/?fields=status,message,country,mobile,isp,query" ) curl_easy_setopt( curl, HB_CURLOPT_NOPROGRESS, .T. ) curl_easy_setopt( curl, HB_CURLOPT_USERAGENT, "curl/7.75.0" ) curl_easy_setopt( curl, HB_CURLOPT_MAXREDIRS, 50 ) curl_easy_setopt( curl, HB_CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_2TLS ) curl_easy_setopt( curl, HB_CURLOPT_SSL_VERIFYPEER, .F. ) curl_easy_setopt( curl, HB_CURLOPT_SSL_VERIFYHOST, .F. ) curl_easy_setopt( curl, HB_CURLOPT_FTP_SKIP_PASV_IP, .F. ) curl_easy_setopt( curl, HB_CURLOPT_TCP_KEEPALIVE, .T. ) curl_easy_setopt( curl, HB_CURLOPT_DL_BUFF_SETUP ) curl_easy_perform( curl ) ? "EFFECTIVE URL:", curl_easy_getinfo( curl, HB_CURLINFO_EFFECTIVE_URL ) cStr := curl_easy_dl_buff_get( curl ) ? "RESULT: " + cStr IF hb_ATokens( cStr, "," )[ 4 ] == "true" ? "Mobile (cellular) connection." ENDIF curl_easy_reset( curl ) curl_easy_cleanup( curl ) ENDIF curl_global_cleanup() RETURN |
| Опция cURL --libcurl <file> рулит..
| |
|
|
| |
Пост N: 7349
Зарегистрирован: 17.05.05
|
|
Отправлено: 13.05.21 10:12. Заголовок: Петр Понял. Спасибо..
Петр Понял. Спасибо. Одна проблема только есть , там где нужно чекнуть эту штуку , сисадмин закрыл 80 и 443 порты Разберемся.
| |
|
|
| |
Пост N: 7363
Зарегистрирован: 17.05.05
|
|
Отправлено: 16.05.21 16:17. Заголовок: Странная штука , вро..
Странная штука , вроде должно работать а не работает и ни какой реакции curl_easy_setopt( curl, HB_CURLOPT_PREQUOTE,{"CLNT testklient"}) Ежели вот так , то пашет конечно curl_easy_setopt( curl, HB_CURLOPT_QUOTE, {"CLNT testklient", "CWD "+rdir} )
| |
|
Ответов - 65
, стр:
1
2
3
4
All
[только новые]
|
|
|