0

私は、任意のブラウザまたは hurl.it からロードできるいくつかのインデックス ファイルを備えた amazon サーバーを持っています。

次に、ハードウェア チップから同じ GET リクエストを送信しようとします。

ポート 80 への TCP 接続を作成します。これは機能しているようで、真の値を返します。

次に、まったく応答しない GET リクエストを送信しようとしています。

ここにあります :

GET /index.php HTTP/1.1
Host:52.xx.xxx.xx
User-Agent:runscope/0.1
Content-Type:application/json
Connection:close                 //tried also without this

ここで基本的なものが欠けていますか? EC2 はポート 80 で TCP を受け入れますか? (本当の結果が得られることはわかりますが、実際にはわかりません)

誰が TCP/HTTP に接続していたかを EC2 でも確認する方法はありますか? どうやって?

ありがとう。

編集: 私はこれを前にここに置くべきでしたが、ここに私の要求があります:

GET /index.php HTTP/1.1\r\nHost:xx.x1.2xx.1x\r\nUser-Agent:runscope/0.1\r\nContent-Type:application/json\r\nConnection:close\r\n"
4

1 に答える 1

2

HTTP リクエストは次のようになります

 GET /path HTTP/1.0\r\n
 Host: ..\r\n
 \r\n

おそらく見落としているのは、最後の空の行です。あなたが間違っているかもしれないのは、行末です(そうでなければなりませんが\r\n、いくつかのサーバーも受け入れ\nます)。また、単純なリクエストのみを行う場合は、暗黙のキープアライブやチャンクエンコーディングなど、レスポンスの処理を難しくするいくつかの機能を利用できるHTTP/1.0ため、より適切に使用する必要があります。HTTP/1.1

Content-typeGET リクエスト自体にはコンテンツがないため (POST リクエストとは対照的に)、GET リクエストで を指定しても意味がありません。

于 2015-10-07T11:51:47.100 に答える