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

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

Mary-Kate Olsen
リリース: 2024-11-24 02:59:09
オリジナル
760 人が閲覧しました

How to Correctly Set the User-Agent in Java URLConnection?

Java URLConnection のユーザー エージェントの設定

URLConnection で Java を使用して Web ページを解析しようとし、ユーザー エージェントを指定された値に設定する場合値の最後に「Java/1.5.0_19」が追加される場合があります。これは、古いバージョンの Java の制限により発生します。

解決策 (Java 1.6.30 以降)

Java 1.6.30 以降では、この問題は発生します。解決されました。 setRequestProperty("User-Agent", "Mozilla ...") を使用したユーザー エージェントの設定は、Java バージョンを追加しなくても正しく機能するようになりました。

検証

検証するにはこれにより、netcat を使用してポートをリッスンでき、受信リクエストの生の HTTP ヘッダーが表示されます。ユーザー エージェントを設定しないと、ヘッダーは次のように表示されます:

GET /foobar HTTP/1.1
User-Agent: Java/1.6.0_30
Host: localhost:8080
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive
ログイン後にコピー

ユーザー エージェントを設定すると、代わりにヘッダーは次のように表示されます:

GET /foobar HTTP/1.1
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
Host: localhost:8080
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive
ログイン後にコピー

サンプル コード (Java 1.6. 30 )

次のコード例は、ユーザーを正しく設定する方法を示しています。エージェント:

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート