ホームページ >Java >&#&チュートリアル >Java URLConnectionのユーザーエージェントを設定するにはどうすればよいですか?
URLConnection を利用して Java で Web ページを解析する場合、ユーザー エージェントを正しく設定することが重要です。ただし、デフォルトでは、指定されたユーザー エージェントには「Java/1.5.0_19」が付加されます。これは、特定のブラウザを隠蔽したり偽装したりする場合に懸念されることがあります。
明確化と解決策
Java バージョン 1.6.30 以降では、ユーザー エージェントの問題追加は存在しなくなり、setRequestProperty("User-Agent", "Mozilla ...") は意図したとおりに機能します。これを確認するには、HTTP ヘッダーをキャプチャするようにポート リスナーを設定できます。
setRequestProperty を使用せずにリクエストが送信される場合、HTTP ヘッダーには次のものが含まれます。
User-Agent: Java/1.6.0_30
ただし、 setRequestProperty は特定のユーザー エージェントを設定するために使用され、HTTP ヘッダーは指定された内容を反映します。 value:
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2
コード例
次のコードは、ユーザー エージェントを設定し、Web ページのコンテンツ タイプを取得する方法の完全な例を示しています。
import java.io.IOException; import java.net.URL; import java.net.URLConnection; public class TestUrlOpener { public static void main(String[] args) throws IOException { URL url = new URL("http://localhost:8080/foobar"); URLConnection hc = url.openConnection(); hc.setRequestProperty("User-Agent", "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2"); System.out.println(hc.getContentType()); } }
以上がJava URLConnectionのユーザーエージェントを設定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。