Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » CURL

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12

Открыть новую тему     Написать ответ в эту тему

ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
См. также: Ru.Board » Операционные системы » UNIX » UNIX Shell

Что умеет CURL:
DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, TFTP, WS and WSS. curl supports TLS certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload, proxies (SOCKS4, SOCKS5, HTTP and HTTPS), HTTP/2, HTTP/3, cookies, user+password authentication (Basic, Plain, Digest, CRAM-MD5, SCRAM-SHA, NTLM, Negotiate, Kerberos, Bearer tokens and AWS Sigv4), file transfer resume, proxy tunneling, HSTS, Alt-Svc, unix domain sockets, HTTP compression (gzip, brotli and zstd), etags, parallel transfers, DNS-over-HTTPS и многое другое.  
 
ВНИМАНИЕ! cURL не поддерживает пробелы в URL (см. ./docs/URL-SINTAX.md::spaces), поэтому их нужно кодировать как %20 или cURL выведет ошибку!

Домашняя страница
Дистрибутивы для Windows (официальные) - NT 6.x и выше
Latest win32 (zip) | Latest win64 (zip)
Исходники
 
Файлы curl-ca-bundle.crt | Changelog | Мануал | Примеры
 
Дополнительные источники:
Дистрибутивы для Windows (неофициальные) - ХР/Srv2003 и выше.
Static cURL with HTTP3
 
История появления возможностей CURL

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 20:18 02-09-2012 | Исправлено: mithridat1, 10:57 27-04-2024
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ну, вот - работа по исправлению встроенного мануала вроде завершена и в binary the curl project 8.7.1 команда --manual снова работает (v8.6.0 была собрана с запретом этой команды).
 
cURL.zip - х86, х86_64, GUI, документация (ASCI/Text). v8.7.1 build 8.7.1_2:

Цитата:
cURL 8.7.1 Win32/Win64 MinGW-w64 standalone official build by Viktor Szakets
 
Release date: 2024-03-27
 
Libs:
 
  libcurl/8.7.1 LibreSSL/3.9.1 zlib/1.3.1 brotli/1.1.0 zstd/1.5.6 WinIDN libpsl/0.21.5 libssh2/1.11.0 nghttp2 1.60.0 ngtcp2/1.4.0 nghttp3/1.1.0
 
Protocols:
 
  dict file ftp ftps gopher gophers http https imap imaps ipfs ipns ldap ldaps mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp ws wss
 
Features:
 
  alt-svc AsynchDNS brotli HSTS HTTP2 HTTP3 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM PSL SPNEGO SSL SSPI threadsafe UnixSockets zstd

После v8.7.1 build 8.7.1_1 в v8.7.1 build 8.7.1_2 обновились библиотеки zstd 1.5.5 -> 1.5.6 libressl 3.8.3 -> 3.9.1.

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 34320 | Зарегистр. 31-07-2002 | Отправлено: 01:23 30-03-2024
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
cURL 8.9.1 от 31.07.2024  
 
Исправлений много, в т.ч. по команде cURL --help all выводится читаемая справка по ключам - в отличии от более ранних версий текст описаний выровнен по левой колонке и визуально отделён пробелом от колонки ключей что увеличило размер сохраняемого файла. Если используется библиотека OpenSSL, то она потребуется версии 3.3.1 и новее.
 
Архив (официальная консольная Standalone сборка от The cURL Project, х86 и х86-64, документация, GUI Shell, SSL сертификаты, не требуется libcurl.dll) cURL.zip
 
Используемые библиотеки и возможности:

Цитата:
Libs:
 
  libcurl/8.9.1 LibreSSL/3.9.2 zlib/1.3.1 brotli/1.1.0 zstd/1.5.6 WinIDN libpsl/0.21.5 libssh2/1.11.0 nghttp2/1.62.1 ngtcp2/1.6.0 nghttp3/1.4.0
 
Protocols:
 
  dict file ftp ftps gopher gophers http https imap imaps ipfs ipns ldap ldaps mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp ws wss
 
Features:
 
  alt-svc AsynchDNS brotli HSTS HTTP2 HTTP3 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM PSL SPNEGO SSL SSPI threadsafe UnixSockets zstd


----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 34320 | Зарегистр. 31-07-2002 | Отправлено: 15:03 01-08-2024
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В июле перестали работать сертификаты в сабже как в ХР, так и в 7 на некоторые сайты, ошибка 60, например
Код:
curl.exe https://datacenter.by
. Чтение https://curl.se/docs/sslcerts.html ясности не принесло - кто-то знает как побороть?

Всего записей: 3677 | Зарегистр. 16-06-2007 | Отправлено: 13:43 05-08-2024 | Исправлено: Alexyz21, 13:53 05-08-2024
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21

Цитата:
Чтение https://curl.se/docs/sslcerts.html ясности не принесло - кто-то знает как побороть?  

Для исправления ошибки (60) "Самоподписанный SSL сертификат не может быть проверен, подлинность сервера не подтверждена" надо просто добавить в командную строку ключ "-k" или его полную форму "--insecure".  
 
Вот расшифровка данной ошибки из мануала (в моём архиве это файл ./docs/manual.txt) выводимого по команде "--manual":
 
Error 60 ::  Peer certificate cannot be authenticated with known CA certificates.
 
Ошибка 60 :: Сертификат участника не может быть проверен с помощью известных СА сертификатов.
 
А без расшифровки и понимания ошибки ты зря в sslcerts ответ искал...
 
P.S.
 
А главное в сообщении об ошибке ты упустил:

Цитата:
curl failed to verify the legitimacy of the server and therefore could not establish a secure connection to it. To learn more about this situation and how to fix it, please visit the webpage mentioned above.


Цитата:
cURL не смог проверить подлинность сервера и установить защищённое соединение с ним. Чтобы подробнее узнать об этой ситуации и как это исправить пожалуйста посетите веб-страницу упомянутую выше.

если бы обратил внимание, то легко бы решил задачу.

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 34320 | Зарегистр. 31-07-2002 | Отправлено: 14:54 05-08-2024 | Исправлено: Victor_VG, 16:11 05-08-2024
los

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21, проблемы с сертификатом у самого сайта, а не у curl.

Всего записей: 7698 | Зарегистр. 08-09-2001 | Отправлено: 15:18 05-08-2024
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
<del> - лишнее, выше отвечено.

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 34320 | Зарегистр. 31-07-2002 | Отправлено: 15:23 05-08-2024 | Исправлено: Victor_VG, 15:24 05-08-2024
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Но если открыть https://datacenter.by в supermium 124 (хром под ХР), то вижу соединение защищено, сертификат в порядке. Открываю этот же сайт в Basilisk (лиса), тоже всё гуд. Вместе с тем открываю https://autozip.great-site.net/ в василиске, то вижу SSL_ERROR_RX_MALFORMED_SERVER_HELLO, а супермиум открывает нормально и даже опера 12.18 устанавливает защищённое соединение. Вот и появилось подозрение, что с сертификатами мозилы что-то не то. В июне сабж работал нормально, в июле сломался, обновление его и сертификатов не помогает как в ХР, так и в 7.

Всего записей: 3677 | Зарегистр. 16-06-2007 | Отправлено: 16:30 05-08-2024 | Исправлено: Alexyz21, 16:33 05-08-2024
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
Тебя занесло - ты заподозрил причину в SSL сертификатах правильно, но упустил из виду сообщение что подлинность сервера не может быть проверена, а это было ключевым моментом - требования к проверке подлинности хостов ужесточены, и эти сервера её не проходят.
 
Что до твоих браузеров, то Опера 12.18 выпущена в 15 февраля 2016-го и список изменений в ней не публиковался, а её разработчики сами говорят, что выборочно реализуют спецификации стандартов, так что с ней понятно, а Суперминимум - лично я только от тебя узнал о его существовании и не могу сказать насколько корректно работают его алгоритмы.

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 34320 | Зарегистр. 31-07-2002 | Отправлено: 16:57 05-08-2024
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Если использовать -k, то соединение не будет шифроваться. Что до браузеров, то всё с ними нормально, любой может открыть эти сайты в своих браузерах и удостовериться что сайты работают, соединение шифруется, сертификаты нормальные. Сабж же вываливает ошибку 60 и не отдаёт тело страницы.

Всего записей: 3677 | Зарегистр. 16-06-2007 | Отправлено: 17:42 05-08-2024
los

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21

Цитата:
Что до браузеров, то всё с ними нормально, любой может открыть эти сайты в своих браузерах и удостовериться что сайты работают, соединение шифруется, сертификаты нормальные.

Это не так:
https://imgur.com/a/tCpTt6L

Всего записей: 7698 | Зарегистр. 08-09-2001 | Отправлено: 18:34 05-08-2024
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
Ага, шифруется - сертификат от AlphaSSL коего нет в ca-bundle.crt, а подлинность сервера не удаётся проверить из-за не доверенности сертификата, но "SSL в браузере работает - я картинку вижу!", ага, а с чего бы у тебя  

Цитата:
Error code: SSL_ERROR_RX_MALFORMED_SERVER_HELLO
 
Страница, которую вы пытаетесь просмотреть, не может быть показана, потому что подлинность полученных данных не может быть проверена.

выводится? Опять всё перепутал?
 
P.S.
 
Это примерно как впаять в схему 133ЛА7 вместо 133ЛА3 - "Они обе 2И-НЕ, ставь любую, будет работать!".


----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 34320 | Зарегистр. 31-07-2002 | Отправлено: 19:05 05-08-2024 | Исправлено: Victor_VG, 19:14 05-08-2024
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Если бы читали внимательно, то осознали бы, что у хромов данной проблемы с сертификатами нет, а есть она у мозилы и сабжа.

Всего записей: 3677 | Зарегистр. 16-06-2007 | Отправлено: 01:19 06-08-2024
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
У меня ошибку вылавливают Konquerror в  Демоне и Google Chrome под Android, но раз у тебя картинка выводится, то виноват cURL! Ну, не пользуйся им на данных сайтах и ошибки не будет.  
 
Если подлинность конечного сертификата нельзя проверить через ссылочную цепочку сертификатов, то даже если он ещё действителен к нему нет доверия. А в случае с datacenter.by именно это и происходит - сертификат есть, но цепочка проверки обрывается на AlphaSSL:
 
   
 
- и подлинность сервера под сомнением, ошибка 60, а твои браузеры её игнорируют, но это и от их настроек зависит...  

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 34320 | Зарегистр. 31-07-2002 | Отправлено: 01:55 06-08-2024
ozr1

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
Цитата:
у хромов данной проблемы с сертификатами нет

Если очень надо, то можно отобразить цепочку сертификатов в хроме, после чего экспортировать корневой сертификат из хранилища сертификатов Windows в файл (в том же формате, что и в списке сертификатов cURL'а) и добавить содержимое этого файла в конец файла со списком сертификатов cURL'а. Возможно, в cURL'е просто используется устаревший (не обновлённый) список корневых сертификатов.
 
Хром берёт корневые сертификаты из хранилища Windows. Поэтому и предлагаю такой костыль.
 
Если корневым сертификатом в хроме отобразится сертификат от антивируса (например, от Касперского), то приостановить работу этого антивируса и повторить действия из первого абзаца.

Всего записей: 331 | Зарегистр. 05-07-2015 | Отправлено: 10:39 06-08-2024 | Исправлено: ozr1, 10:55 06-08-2024
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ozr1
 
А также очень сложно поглядеть в заголовке ca-bundle.crt дату его создания (текущий Tue Jul  2 03:12:04 2024 GMT), и при необходимости выполнить в консоли команду:
 
curl -kRSso curl-ca-bundle.crt https://curl.se/ca/cacert.pem
 
для получения обновления...

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 34320 | Зарегистр. 31-07-2002 | Отправлено: 11:37 06-08-2024
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Пробовал ранее - обновил, затем экспортировал корневые сертификаты из 7 в p7b, затем с помощью openssl 3.3.1 попробовал конвертировать p7b в pem - выдаёт ошибку.

Всего записей: 3677 | Зарегистр. 16-06-2007 | Отправлено: 11:46 06-08-2024
ozr1

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
Я проверил: корневым сертификатом в рассматриваемом случае выступает "GlobalSign Root CA" - он присутствует в списке корневых сертификатов cURL'а, причём стоит самым первым в этом списке. Экспортированный из хранилища Windows в текстовый файл сертификат совпал (после приведения к той же длине строк) с сертификатом из списка cURL'а. Тогда получается, что к списку сертификатов cURL'а пртензий вообще нет, и надо разбираться, что не так с сертификатом промежуточного центра -- "AlphaSSL CA - SHA256 - G4".
 
Добавил этот сертификат к списку cURL'а -- и всё заработало. Но это неправильно: промежуточный сертификат не должен быть корневым.
 
Собственно, сертификат для вставки в список cURL'а

Всего записей: 331 | Зарегистр. 05-07-2015 | Отправлено: 12:52 06-08-2024 | Исправлено: ozr1, 12:55 06-08-2024
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
Не нужно конвертировать файл сертификатов. Просто выполни команду скачай их с сервера проекта в формате PEM:
 
curl -kRSsO https://curl.se/ca/cacert.pem
 
сохранит сертификаты в файле cacert.pem, а тот ось экспортирует без вопросов, и тогда если рядом с бинарником нет файла curl-ca-bundle.crt то при вызове cURL обратится к системному хранилищу сертификатов.
 
Или используем curl-ca-bundle.crt который кладётся рядом с бинарником cURL и он сам его читает по мере необходимости:
 
curl -kRSso curl-ca-bundle.crt https://curl.se/ca/cacert.pem
 
и только если конкретный сертификат не может быть проверен через цепочку корневых, cURL обратится к системному хранилищу для его проверки.
 
Это всё подробно расписано в документации, прочитай внимательно и не ставь бессмысленные эксперименты.
 
В старых .crt сертификат AlphaSSL был в списке как корневой, после его убрали ибо это промежуточный SSL-провайдер подлинность которого проверяется через GlobalSign Root CA, ну и маленькая вишенка на торте:

Цитата:
curl drops support for TLS libraries without TLS 1.3 capability after May 2025

а WinXP/Win7 из коробки TLS 1.3 вообще не поддерживают - в них только TLS 1.1, и надо ставить сторонний SSL стек, например OpenSSL с Win32/Win64 OpenSSL Installation Project, при этом для работы старших версий cURL нужна версия 3.3.1 и новее.

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 34320 | Зарегистр. 31-07-2002 | Отправлено: 12:56 06-08-2024 | Исправлено: Victor_VG, 13:20 06-08-2024
insorg



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_VG
А за вишенку можно поподробнее?
В либе  mbedTLS/2.28.8  как дело с поддержкой версий tls обстоит?

Всего записей: 17888 | Зарегистр. 04-11-2010 | Отправлено: 18:17 07-08-2024
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
insorg

Цитата:
В либе  mbedTLS/2.28.8  как дело с поддержкой версий tls обстоит?

TLS1.3, а сама либа разрабатывается для использования в MSVS2019+ так что в cURL её нет.


----------
Жив курилка! (Р. Ролан, "Кола Брюньон")
Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

Всего записей: 34320 | Зарегистр. 31-07-2002 | Отправлено: 18:39 07-08-2024
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12

Компьютерный форум Ru.Board » Компьютеры » Программы » CURL


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru