Назад | Перейти на главную страницу

почему curl на https не работает

Я могу без проблем сделать следующее:

curl -u "username:password" http://www.example.com/exportfile.xml

Но если я попытаюсь использовать ту же команду для https-версии нашего сайта, это не удастся.

curl -u "username:password" https://www.example.com/exportfile.xml

Вот как выглядит сообщение об ошибке:

About to connect() to www.example.com port 443 (#0)
Trying "some ip"... connected
Connected to www.example.com (some ip) port 443 (#0)
Initializing NSS with certpath: sql:/etc/pki/nssdb
CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: none
NSS error -5938
Closing connection #0
SSL connect error
curl: (35) SSL connect error

Любая помощь приветствуется

Попробуйте использовать -k/--insecure параметр.

Со страницы руководства:

(SSL) Эта опция явно позволяет curl выполнять «небезопасные» SSL-соединения и передачи. Все SSL-соединения пытаются сделать безопасными с помощью пакета сертификатов CA, установленного по умолчанию. Это приводит к сбою всех соединений, которые считаются "небезопасными", если только -k, --insecure используется.

$ curl -sku "username:password" "https://www.example.com/exportfile.xml"

Я всегда предпочитаю использовать -s/--silent параметр, если я что-то загружаю и не хочу видеть статистику.

Также обратите внимание, что использование -s параметр не предотвращает подробный вывод при использовании -v параметр.