1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

telnetでのhttp接続

Posted at

前提

・macOS Catalinaのターミナル利用
・telnetはhomebrewで入れた
・今回は http://www.example.com へ接続する。

手順

1. ポート80で接続する

telnet www.example.com 80

接続が成功すると、以下のようなメッセージが出てくる

Trying 2606:2800:220:1:248:1893:25c8:1946...
Connected to www.example.com.
Escape character is '^]'.

2. HTTPのリクエストを行う

GET / HTTP/1.1
Host: www.example.com

※注意点
HTTPリクエストの終わりの行に改行を入れないと、レスポンスが返ってこないので注意。
HTTPリクエストの終わりが\n\nで判断される仕様であるため。
→仕様を知るならHTTPのRFCを読むといい。ぐぐると出てくる。あとはWikipediaとか
https://ja.wikipedia.org/wiki/Hypertext_Transfer_Protocol

3. HTTPのレスポンスが返ってくる

ターミナルにわーっとレスポンスが返ってくる。
レスポンス返却と同時にtelnet接続も終わる。

HTTP/1.1 200 OK
Accept-Ranges: bytes
Age: 527341
Cache-Control: max-age=604800
Content-Type: text/html; charset=UTF-8
Date: Wed, 05 Aug 2020 16:05:33 GMT
Etag: "3147526947"
Expires: Wed, 12 Aug 2020 16:05:33 GMT
Last-Modified: Thu, 17 Oct 2019 07:18:26 GMT
Server: ECS (sjc/4E74)
Vary: Accept-Encoding
X-Cache: HIT
Content-Length: 1256

<!doctype html>
<html>
<head>
    <title>Example Domain</title>

    <meta charset="utf-8" />
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <style type="text/css">
    body {
        background-color: #f0f0f2;
        margin: 0;
        padding: 0;
        font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
        
    }
    div {
        width: 600px;
        margin: 5em auto;
        padding: 2em;
        background-color: #fdfdff;
        border-radius: 0.5em;
        box-shadow: 2px 3px 7px 2px rgba(0,0,0,0.02);
    }
    a:link, a:visited {
        color: #38488f;
        text-decoration: none;
    }
    @media (max-width: 700px) {
        div {
            margin: 0 auto;
            width: auto;
        }
    }
    </style>    
</head>

<body>
<div>
    <h1>Example Domain</h1>
    <p>This domain is for use in illustrative examples in documents. You may use this
    domain in literature without prior coordination or asking for permission.</p>
    <p><a href="https://www.iana.org/domains/example">More information...</a></p>
</div>
</body>
</html>
Connection closed by foreign host.

4.おまけ

1.のコマンドを実行するとフォアグラウンド実行っぽくなる。
telnetコマンドを実行するモードに戻りたいなら、control+]を押すと戻れる。

以下が例となる。
流れ:telnetで接続→control+]押下→telnet接続終了(close)コマンド

telnet www.example.com 80
Trying 2606:2800:220:1:248:1893:25c8:1946...
Connected to www.example.com.
Escape character is '^]'.
^]
telnet> close
Connection closed.
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?