Cách đơn giản nhất để nhận được phản hồi HTTPS thô, chưa được chỉnh sửa


39

Điều gì sẽ là cách đơn giản nhất để thực hiện một yêu cầu GET tới một url qua HTTPS và nhận được phản hồi thô, chưa được chỉnh sửa?

Điều này có thể đạt được với curl? Nếu vậy, bạn cần sử dụng tùy chọn nào?

Câu trả lời:


51

Nếu bạn muốn sử dụng curl, điều này sẽ làm việc:

curl -D - https://www.google.com/

Lưu ý, tuy nhiên, đây không chính xác là phản hồi thô. Ví dụ, mã hóa chuyển khối chunked sẽ không hiển thị trong phản hồi. Sử dụng --rawgiải quyết điều này, chế độ dài dòng ( -v) cũng hữu ích và -ihiển thị các tiêu đề trước phần thân phản hồi:

curl -iv --raw https://www.google.com/

Nếu bạn muốn sử dụng một máy nhắn tin như ít hơn vào kết quả, thì cũng cần phải vô hiệu hóa thanh tiến trình ( -s):

curl -ivs --raw https://www.google.com/ | less

Tùy thuộc vào những gì bạn muốn làm điều này có thể hoặc không phải là một vấn đề.

Những gì bạn nhận được là tất cả các tiêu đề phản hồi HTTP và tài liệu tại URL được yêu cầu.


13

Đây là một cách đơn giản mà đến với tâm trí

echo 'GET / HTTP/1.1
Host: google.com

' | openssl s_client -quiet -connect google.com:443 2>/dev/null

lưu ý rằng một số máy chủ (ví dụ: github.com) chỉ hoạt động vớiHTTP/1.0
Steven Penny

4

Không phải vậy curl, nhưng nó sẽ có sẵn trên hầu hết các Thông báo:

wget -S --spider https://encrypted.site

Nếu các thông báo trạng thái làm phiền bạn:

wget -S --spider https://encrypted.site 2>&1 | awk '/^  /'

Nếu bạn muốn kết thúc dòng CRLF:

wget -S --spider https://encrypted.site 2>&1 | awk '/^  / { sub(/$/,"\r"); print }'

Bạn có biết nếu điều này sẽ bảo tồn các \r\nnhân vật trong phản ứng?
Acorn

@Acorn - Trước hết, không phải tất cả các máy chủ web sẽ phản hồi với \r\ndòng kết thúc. Tôi không tin rằng điều này sẽ bảo tồn nó trong mọi trường hợp, nhưng nếu điều đó quan trọng với bạn, tôi sẽ thêm một cách để có được kết quả đó trong câu trả lời.
Chris Down

1
$ GET -e https://www.google.com

Trên các bản phân phối Debian / Ubuntu thuộc về gói lwp-request.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.