ホームページ >Java >&#&チュートリアル >Java URLConnectionのユーザーエージェントを設定するにはどうすればよいですか?

Java URLConnectionのユーザーエージェントを設定するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-06 07:21:12501ブラウズ

How to Set the User Agent of a Java URLConnection?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。