Apa cara paling mudah untuk membuat permintaan GET ke url di atas HTTPS, dan mendapatkan respons mentah dan tidak diuraikan?
Mungkinkah ini dicapai dengan ikal? Jika demikian, opsi apa yang perlu Anda gunakan?
Jika Anda ingin menggunakan curl
, ini harus bekerja:
curl -D - https://www.google.com/
Namun, perhatikan bahwa ini bukan respons yang mentah. Misalnya penyandian transfer yang terpotong tidak akan terlihat dalam respons. Menggunakan --raw
solves this, juga mode verbose ( -v
) juga bermanfaat, dan -i
menampilkan header di depan badan respons:
curl -iv --raw https://www.google.com/
Jika Anda ingin menggunakan pager seperti kurang pada hasilnya, Anda juga perlu menonaktifkan progress-bar ( -s
):
curl -ivs --raw https://www.google.com/ | less
Tergantung pada apa yang ingin Anda lakukan ini mungkin atau tidak mungkin menjadi masalah.
Apa yang Anda dapatkan adalah semua header respons HTTP dan dokumen di URL yang diminta.
Inilah cara sederhana yang terlintas dalam pikiran
echo 'GET / HTTP/1.1
Host: google.com
' | openssl s_client -quiet -connect google.com:443 2>/dev/null
HTTP/1.0
Tidak
curl
, tetapi harus tersedia di hampir semua Unices:Jika pesan status mengganggu Anda:
Jika Anda ingin ujung garis CRLF:
sumber
\r\n
karakter dalam respons?\r\n
sebagai baris yang berakhir Saya tidak percaya ini akan mempertahankannya dalam hal apa pun, tetapi jika itu penting bagi Anda, saya akan menambahkan cara untuk mendapatkan hasil dalam jawaban.Pada Debian / distro Ubuntu milik paket
lwp-request
.sumber