質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
HTTP

HTTP(Hypertext Transfer Protocol)とはweb上でHTML等のコンテンツを交換するために使われるアプリケーション層の通信プロトコルです。

HttpWebRequest

HttpWebRequestとは.NETにおけるクラスであり、WebRequestクラスをHTTPに導入するものです。

HTTPヘッダー

Hypertext Transfer Protocol(HTTP)の中のHTTPヘッダフィールドはHTTPの要求やレスポンスの機能しているパラメーターが含まれます。その要求もしくはレスポンスライン(メッセージの最初の一行)でメッセージヘッダを作ります。

ネットワーク

ネットワークとは、複数のコンピューター間を接続する技術です。インターネットが最も主流なネットワークの形態で、TCP/IP・HTTP・DNSなどの様々なプロトコルや、ルータやサーバーなどの様々な機器の上に成り立っています。

Q&A

解決済

4回答

3547閲覧

telnetでリクストヘッダ内容を確認する方法はありますか? 指定した「GETと Host」以外の送信情報を表示させることは可能?

re97

総合スコア208

HTTP

HTTP(Hypertext Transfer Protocol)とはweb上でHTML等のコンテンツを交換するために使われるアプリケーション層の通信プロトコルです。

HttpWebRequest

HttpWebRequestとは.NETにおけるクラスであり、WebRequestクラスをHTTPに導入するものです。

HTTPヘッダー

Hypertext Transfer Protocol(HTTP)の中のHTTPヘッダフィールドはHTTPの要求やレスポンスの機能しているパラメーターが含まれます。その要求もしくはレスポンスライン(メッセージの最初の一行)でメッセージヘッダを作ります。

ネットワーク

ネットワークとは、複数のコンピューター間を接続する技術です。インターネットが最も主流なネットワークの形態で、TCP/IP・HTTP・DNSなどの様々なプロトコルや、ルータやサーバーなどの様々な機器の上に成り立っています。

0グッド

0クリップ

投稿2016/04/14 23:34

telnetで GET と Host を指定して送信すると、レスポンスが表示されますが、この時、リクエストヘッダを表示させることは出来ますか?
・クッキー(?)とか、ユーザエージェント情報(?)とか…

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

ベストアンサー

telnetで GET と Host を指定して送信すると、レスポンスが表示されますが、この時、リクエストヘッダを表示させることは出来ますか?
・クッキー(?)とか、ユーザエージェント情報(?)とか…

おそらく telnet コマンドがクッキーやユーザエージェントとかを自動的に送っていると思われているのかと思いまうが、それは勘違いです。

telnet で入力した「GET と Host」などがサーバに送信されるもののすべてです。

なので、リクエストヘッダを表示させるまでもなく、入力したものがリクエストヘッダのすべてです。

投稿2016/04/15 00:51

ngyuki

総合スコア4514

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

re97

2016/04/15 23:29

・回答ありがとうございました ・物凄く勘違いしていたのですが、クッキーやユーザエージェントはブラウザから送信しなければ(httpリクエスト)でなければ送信されない、ということでしょうか? >telnet で入力した「GET と Host」などがサーバに送信されるもののすべてです。 >入力したものがリクエストヘッダのすべてです ・大変参考になりました
ngyuki

2016/04/15 23:39

ブラウザ以外でも curl コマンドとかでも送られます。 ただし、curl とかだとブラウザが記憶しているクッキーは送信されません、ブラウザが記憶しているクッキーはブラウザからしか送られません(Windows で WinInet 、、だったかな? を使ったときは IE のクッキーを送ったりできた気もするけどそれはまた別の話ってことで)。 ユーザーエージェントなんかは、ブラウザならブラウザの、curl なら curl のもが自動的に送られます。 telnet は単に TCP で接続するだけなので、リクエストヘッダが勝手に送られたりすることはありません。
re97

2016/04/18 03:26

・コメントありがとうございました >ユーザーエージェントなんかは、ブラウザならブラウザの、curl なら curl のもが自動的に送られます ・大変参考になりました
guest

0

ブラウザなどが送信しているリクエストヘッダを確認するのであれば、ブラウザの開発者ツールや拡張機能(FirefoxであればLive HTTP Headers)で確認できます。FiddlerのようなProxyサーバとして動作するツールもあります。telnetで確認することは出来ません。

telnetを使ってサーバにリクエストを送信している、という状況であれば、リクエストヘッダはすべて自分で作成し送信しなければなりません。telnetは単に入力をサーバに送信し、受信したデータを画面に表示しているだけです。

投稿2016/04/15 01:15

suzukis

総合スコア1449

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

re97

2016/04/15 23:33

・回答ありがとうございました ・HTTPの基本がTelnetかと思っていたのですが、両者は異なるプロトコルなのですね ・兄弟的位置づけ? >リクエストヘッダはすべて自分で作成し送信しなければなりません。telnetは単に入力をサーバに送信し、受信したデータを画面に表示しているだけ ・参考になりました
guest

0

Windowsのtelnetクライアントは、
デフォルトでローカルエコーが無効になっていたように思います。
ローカルエコーが無効ですと、自分の送信した文字は見えません。

Windowsのバージョンによって微妙に表記が違ったように思いますが、
おおよそ以下の様な設定で表示されるはずです。

set localecho

正確なオプションは

set ?

で表示されますので、確認してみて下さい。

投稿2016/04/14 23:55

i50

総合スコア227

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

re97

2016/04/15 23:34

・回答ありがとうございました ・ローカルエコーは有効にしています
guest

0

cURLに適切なオプションを付ければ色々見れますよ。

投稿2016/04/14 23:46

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/04/15 00:22

お手軽さを優先するのなら、chromのデベロッパツールのほうが楽ですね。 「telnetで」が重要であれば、全く的をはずした回答ですみません^^;
re97

2016/04/15 23:41

・回答ありがとうございます >cURL ・プロトコル自体ではなく、HTTPやTELNETプロトコルに対応したコマンドラインツールの名前? >cURLに適切なオプションを付ければ色々見れます ・試してみたのですが、期待したリクエストヘッダは見れませんでした ・HTTPリクエストでも、ブラウザを通さない場合はユーザエージェント情報は送信されない、ということでしょうか?
退会済みユーザー

退会済みユーザー

2016/04/16 00:02

いずれの質問もリンク先に記載してあるのですが。。。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問