Saya mencoba meringkuk situs web HTTPS dengan cara berikut:
$ curl -v https://thepiratebay.se/
Namun gagal dengan kesalahan:
* 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
Menggunakan -k
/ --insecure
atau menambah insecure
ke saya ~/.curlrc
tidak ada bedanya.
Bagaimana cara saya mengabaikan atau memaksa sertifikat menggunakan curl
baris perintah?
Saat menggunakan wget
tampaknya berfungsi dengan baik. Juga berfungsi saat pengujian dengan openssl
seperti di bawah ini:
$ 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
Saya sudah:
$ 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
sumber
Dimulai dengan Mavericks, Apple mengganti mesin TLS / SSL dari OpenSSL ke mesin Secure Transport mereka sendiri di Apple yang mendistribusikan biner CURL yang merusak penggunaan sertifikat klien. Gunakan biner CURL dari homebrew:
sumber
brew link curl --force
tidak lagi berfungsi, Anda harus memasukkanexport "$(brew --prefix curl)/bin:$PATH"
.bash_profile sebagai gantinya.Saya memiliki kesalahan ini ketika saya mengirim header host yang salah.
Saya sedang mengembangkan proxy dari http://127.0.0.1:12345 ke https://site.com:443 . jadi saya mengirim header permintaan apa adanya seperti yang datang dari browser dan ada host: 127.0.0.1: 12345 header. Saya menghapus header host yang berasal dari browser untuk menyelesaikan masalah.
sumber