Я пытаюсь свернуть сайт HTTPS следующим образом:
$ curl -v https://thepiratebay.se/
Однако это не с ошибкой:
* About to connect() to thepiratebay.se port 443 (#0)
* Trying 173.245.61.146...
* connected
* Connected to thepiratebay.se (173.245.61.146) port 443 (#0)
* SSLv3, TLS handshake, Client hello (1):
* SSLv3, TLS alert, Server hello (2):
* error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
* Closing connection #0
curl: (35) error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
Использование -k
/ --insecure
или добавление insecure
в мой ~/.curlrc
не имеет никакого значения.
Как мне игнорировать или принудительно использовать сертификат с помощью curl
командной строки?
При использовании wget
вроде работает нормально. Также работает при тестировании, openssl
как показано ниже:
$ openssl s_client -connect thepiratebay.se:443
CONNECTED(00000003)
SSL handshake has read 2651 bytes and written 456 bytes
New, TLSv1/SSLv3, Cipher is AES128-SHA
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol : TLSv1
Cipher : AES128-SHA
Я:
$ curl --version
curl 7.28.1 (x86_64-apple-darwin10.8.0) libcurl/7.28.1 OpenSSL/0.9.8| zlib/1.2.5 libidn/1.17
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp smtp smtps telnet tftp
Features: IDN IPv6 Largefile NTLM NTLM_WB SSL libz
источник
Начиная с Mavericks, Apple переключила механизм TLS / SSL с OpenSSL на собственный механизм безопасного транспорта в распределенном двоичном файле cURL от Apple, который нарушает использование клиентских сертификатов. Используйте двоичный файл cURL от homebrew:
источник
brew link curl --force
больше не работает,export "$(brew --prefix curl)/bin:$PATH"
вместо этого вы должны вставить свой .bash_profile.У меня была эта ошибка, когда я отправлял неправильный заголовок хоста.
Я разрабатывал прокси с http://127.0.0.1:12345 по адресу https://site.com:443 . поэтому я отправлял заголовки запроса как есть, как пришло из браузера, и там был заголовок host: 127.0.0.1: 12345. Я удалил заголовок узла, который пришел из браузера, чтобы решить проблему.
источник