Javaの:のHttpURLConnectionの表示要求を送信する前に
-
26-09-2019 - |
質問
私はHttpURLConnection
を使用してサーバにはいくつかのAPI呼び出しを作りたいです。
<error>
<http_status>400 Bad Request</http_status>
<message>Unexpected request Content-Type header ''. Expecting 'application/x-www-form-urlencoded'.</message>
</error>
私は「本物」の内容は、それがサーバーに送信されているものを確認したいので。実際のコンテンツによって私は、正確なHTTPリクエストを意味します。
私はこれを見ることができますどのように任意のアイデア?
の編集を 最初の回答に基づいて、ここで私は私の問題を明確にする必要があります私はHTTPスニッファか何かのような外部プログラムを使用しないようにしたいと私はそれが私が探しています情報を保持しているものは何でも関数またはプロパティまたはがあることを願っていました。 P>
が一致しない場合は、この情報を手動で再構築することができれば、誰かのノウハウを行います(などgetRequestMethod()、のようないくつかの関数を呼び出すことによって、例えば。)
私はそれが価値があるような機能を自分で構築するための努力だので、ちょっと頻繁にこの問題に直面しています。ただ、知っておく必要がありますどのように:)
解決
は、
とjava.logging有効にすることで、デバッグモードでのHttpURLConnectionを置くことができます-Djava.util.logging.config.file=logging.properties
と(JRE_HOME \ libにデフォルトで)logging.propertiesに入れて次のプロパティ
sun.net.www.protocol.http.HttpURLConnection.level = ALL
他のヒント
tcpdumpが動作しますが、それはあなたがやりたいことにするのは難しいことができます。最も - http://netcat.sourceforge.net/ の:netcatをもっとユーザーフレンドリーな(ここでは、プロジェクトのページがありますですUnixプラットフォームでは、すでに)それを含めます。
nc -l 9999
このは、TCPポート9999でリッスンし、際にHTTPクライアントの接続先が、それはリクエストのフルテキストをプリントアウトします。
とコンピューターから放出されたまたは受信されている実際のネットワークパケットをダンプすることができますtcpdumpの、のような何かます。