コマンドラインで無効なHTTPSリクエストを生成する方法は?

コマンドラインで無効なHTTPSリクエストを生成する方法は?

だから私は興味があります。 Linuxのコマンドラインで誤ったHTTPSリクエストを送信して、サーバーから「エラー400」ページを受け取ることができますか?
「telnet」を使用してポート80のサーバーに接続し、無効なHTTP要求を入力するように指示して、無効なHTTP要求を生成できます(HTTP / 1.1をサポートしているがホストヘッダーを提供しないと主張する)。
しかし、HTTPSでも同じことができますか?私が知っている限り、 "wget"は常に構文的に有効なHTTPまたはHTTPS要求を生成する必要があるため、 "wget"を介してこれを行うことはできません。 SSHプロトコルはHTTPSとは異なるため、「ssh」を介してこれを行うことはできず、「400不正な要求」ではなく「接続リセット」エラーで拒否されます。それでは、これを行う方法はありますか?

ベストアンサー1

これを使用してcurlHTTP(S)要求を送信できます。

カスタムヘッダーを削除または保持するには、-Hこのオプションを使用できます。

空のヘッダーを送信するには、次のようにします。

curl URL -H 'Host:'

例:

$ curl https://fedoramagazine.org/ -H 'Host:'

<html>
<head><title>400 Bad Request</title></head>
<body>
<center><h1>400 Bad Request</h1></center>
<hr><center>nginx</center>
</body>
</html>

応答ヘッダーのみを取得する:

$ curl -s -o /dev/null -D - https://www.imdb.com/ -H 'Host:' 

HTTP/2 400 
server: CloudFront
date: Fri, 24 Apr 2020 15:52:42 GMT
content-type: text/html
content-length: 915
x-cache: Error from cloudfront

おすすめ記事