HttpURLConnectionのヘッダーを変更する方法
-
20-08-2019 - |
質問
イムは、Java、HTML文書を少し改善しようとしているが、私はHttpUrlConntion
の問題に実行していますよ。一つは、ユーザエージェントは、Java VMの場合、一部のサーバーが要求をブロックすることです。もう一つの問題は、HttpUrlConnection
Referrer
またはLocation
ヘッダフィールドを設定していないということです。いくつかのサイトがコンテンツを自分のサイトからアクセスされたことを確認するために、これらのフィールドを使用しているので、私もここにブロックされています。私の知る限り唯一の解決を見ることができるようにHTTPプロトコルのURLハンドラを交換することです。または、デフォルトのHTTPハンドラを変更する方法はありますか?
解決
URL
URL.openConnection
で開きます。必要に応じてHttpURLConnection
にキャスト。コールURLConnection.setRequestProperty
/ addRequestProperty
。
デフォルトのUser-Agentヘッダの値は"http.agent"
システムプロパティから設定されています。プラグインとWebStartのは、このプロパティを設定することができます。
他のヒント
あなたが使用している場合はのApache HttpClientをにあなたのプログラムでHTTP接続を管理するためにあなたが得ます接続(オプションの自動再接続に失敗に)ヘッダを設定し、記事を作成しますVS取得する非常に便利なAPI、返されたコンテンツなどがはるかを取得するための便利な方法。
私は私の問題を解決しました。我々は、単にアプリケーション/ JSONにヘッダを送信し、JSONオブジェクトとして本体を通過することができます。それは単に問題を解決します。