web-dev-qa-db-ja.com

HttpUrlConnectionのヘッダーを変更する方法

Java Html Documentを少し改善しようとしていますが、HttpUrlConntionで問題が発生しています。ユーザーエージェントがJava VM。別の問題は、HttpUrlConnectionReferrerまたはLocationヘッダーフィールドを設定しないことです。いくつかのサイトがこれらのフィールドを使用してコンテンツが自分のサイトからアクセスされたことを確認します。ここでもブロックされています。私が見る限り、HTTPプロトコルのURLハンドラーを置き換えることが唯一の解決策です。または、デフォルトのHTTPハンドラーを変更する方法があります?

26
tigger

URLURL.openConnectionで開きます。オプションでHttpURLConnectionにキャストします。 URLConnection.setRequestProperty/addRequestPropertyを呼び出します。

デフォルトのUser-Agentヘッダー値は、"http.agent"システムプロパティから設定されます。 PlugInおよびWebStartを使用すると、このプロパティを設定できます。

42

Apache HttpClient を使用してプログラムによるHTTP接続を管理する場合、接続の作成(および失敗時のオプションの自動再接続)、ヘッダーの設定、取得と取得、取得のための便利なメソッドを作成する非常に便利なAPIが得られます返されたコンテンツなど。

2
j pimmel

私は問題を解決しました。ヘッダーをapplication/jsonに送信し、本体をjsonオブジェクトとして渡すだけです。それは単に問題を解決します。

0
Nayanava