Tôi đang cố kiểm tra một máy chủ hoạt động bình thường trong trình duyệt web, với tùy chọn openssl s_client, kết nối trực tiếp với nó bằng openssl trả về 400 Yêu cầu Không hợp lệ:
openssl s_client -servername example.com -connect example.com:443 -tls1
(some information about the certificate)
GET / HTTP/1.1
(and the error occurs **immediately** - no time to include more headers like Host:)
Quan trọng: Tôi đã cố gắng đặt tiêu đề Host: điều này là khi tôi chạy GET, lỗi xảy ra ngay lập tức khiến tôi không có cơ hội bao gồm nhiều tiêu đề hơn. Thay thế example.com bằng máy chủ của tôi ...
GET /index.html ...
hoặc bạn có thể cần đặt cookie. Bạn có thể nên thử với curl
hoặc wget
, và gửi yêu cầu và phản hồi đầy đủ , bao gồm cả lỗi. Mặt khác, bạn phải cung cấp tên máy chủ và URL thực để chúng tôi có thể chạy thử nghiệm.
echo
:echo -e "GET / HTTP/1.1\r\nHost: example.com.br\r\n\r\n" | openssl s_client ...
. Điều\r\n
này rất quan trọng vì đó là những gì mà tiêu chuẩn HTTP nói phải làm. Hai cặp CRLF ở cuối yêu cầu cũng rất quan trọng vì đó là những gì tiêu chuẩn nói. Ngoài ra, hãy xem Làm thế nào để bạn chuyển đổi tiếng vang tiếng vang vào thành trò chơi opens opens tinh?