Я пытаюсь использовать curl для получения HTTP-статуса GET-запроса:

curl --insecure --silent --show-error --connect-timeout 1 -I https://host:8443/health

Примечание. В этой команде я использую флаг --insecure .

Я получаю следующий вывод:

HTTP/1.1 403 Forbidden
Server: Apache-Coyote/1.1
Pragma: No-cache
Cache-Control: no-cache
Accept-Ranges: bytes
Last-Modified: Wed, 16 May 2012 03:05:24 GMT
Content-Type: text/html
Content-Length: 1234
Date: Wed, 16 May 2012 08:57:30 GMT

Когда я перехожу на этот URL в браузере, он работает нормально, и я получаю 200 OK .

Как получить 200 OK от команды curl? Могу ли я экспортировать сертификат PEM из браузера и использовать его каким-либо образом?

2 ответа2

0

Вы можете экспортировать сертификат из вашего браузера и использовать его с cURL. Со страницы руководства:

-E, --cert [сертификат] [: пароль]

(SSL) Указывает curl использовать указанный файл сертификата клиента при получении файла с HTTPS, FTPS или другим протоколом на основе SSL. Сертификат должен быть в формате PEM. Если дополнительный пароль не указан, он будет запрошен на терминале. Обратите внимание, что эта опция предполагает наличие файла "сертификата", который является закрытым ключом и закрытым сертификатом! См. --Cert и --key, чтобы указать их независимо.

Если curl построен на основе библиотеки NSS SSL, тогда эта опция может указать curl псевдоним сертификата для использования в базе данных NSS, определенной переменной среды SSL_DIR (или по умолчанию /etc /pki /nssdb). Если доступен модуль NSS PEM PKCS # 11 (libnsspem.so), тогда могут быть загружены файлы PEM. Если вы хотите использовать файл из текущего каталога, пожалуйста, добавьте к нему префикс "./", чтобы избежать путаницы с псевдонимом.

Если эта опция используется несколько раз, будет использована последняя.

0

Предпосылки:-

Как:-

1) Извлечь openssl тарбол

tar -zxvf openssl-1.1.1.tar.gz

cd openssl-1.1.1/

./config

делать

сделать установку

2) Теперь работаем над локонамиИзвлеките tarball и настройте совместимость с openssl

cp curl-7.61.1.tar.bz2 /opt /

кд / опт

tar -jxvf curl-7.61.1.tar.bz2

cd curl-7.61.1/

env PKG_CONFIG_PATH =/usr/local/ssl ./configure --with-ssl

делать

сделать установку

3) Добавить новый путь к новым «библиотекам загрузчиков»

echo «/opt/openssl-1.1.1/ssl» >>/etc/ld.so.conf

LDCONFIG

4) Сделать новый локон как по умолчанию.

ln -s /opt/curl-7.61.1/src/curl /usr /bin /curl

5) Проверьте версию curl

Сервер:~ # curl --version

curl 7.61.1 (x86_64-pc-linux-gnu) libcurl/7.61.1 OpenSSL/1.1.1 zlib/1.2.7

Дата выхода: 2018-09-05

Протоколы: файл dict ftp ftps gopher http https imap imaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp

Особенности: AsynchDNS Большой файл NTLM NTLM_WB SSL libz TLS-SRP UnixSockets HTTPS-прокси

Готово

#

#

#

Спасибо,

nitiratna.nikalje@gmail.com

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .