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

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

Susan Sarandon
Susan Sarandonオリジナル
2024-11-29 15:07:14786ブラウズ

How Can I Set a Custom User Agent for Java URLConnections?

Java URLConnection のユーザー エージェントのカスタマイズ

Java の URLConnection を使用して Web ページへの接続を確立する場合、カスタム ユーザーを設定したい場合があります。エージェント。これは通常、特定の Web ブラウザの動作を模倣したり、アプリケーションを識別したりするために使用されます。ただし、デフォルト以外のユーザー エージェントを設定しようとすると、デフォルト値が追加されることがよくあります。

解決策:

以前のバージョンの Java では、カスタム ユーザーを設定します。 setRequestProperty("User-Agent", "custom_agent") を介してエージェントが最後に「Java/xx」を追加しました。この問題は Java 1.6.30 以降で解決されました。

例:

import java.net.URL;
import java.net.URLConnection;

public class CustomUserAgent {

    public static void main(String[] args) throws Exception {
        URL url = new URL("http://example.com");
        URLConnection connection = url.openConnection();
        connection.setRequestProperty("User-Agent", "Mozilla/5.0");
        System.out.println(connection.getRequestProperty("User-Agent"));
    }
}

Java 1.6.30 以降では、このコードは「Mozilla」を出力します。 /5.0" (追加された "Java/xx" なし)。

Netcat検証:

カスタム ユーザー エージェントが使用されていることを確認するには、netcat を使用してポートでリッスンできます:

$ nc -l -p 8080

上記のコードが実行されると、以下が表示されます。 netcat によって受信された HTTP ヘッダー内のカスタム ユーザー エージェント。

代替解決策:

古い Java バージョンで「Java/xx」を追加するときに依然として問題が発生する場合は、User-Agent ヘッダーを完全に制御できるサードパーティの HTTP ライブラリを使用してみてください。 .

以上がJava URLConnections のカスタム ユーザー エージェントを設定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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