1. ホーム
  2. java

[解決済み] java URLConnectionのユーザーエージェントの設定

2023-05-09 19:26:43

質問

URLConnectionを使用して、JavaでWebページを解析しようとしています。私はこのようにユーザーエージェントをセットアップしようとします。

java.net.URLConnection c = url.openConnection();
c.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");

しかし、結果として得られるユーザーエージェントは、私が指定したもので、最後に "Java/1.5.0_19" が追加されています。この追加をせずに、本当にユーザーエージェントを設定する方法はあるのでしょうか?

どのように解決するのですか?

オフハンドで http.agent システムプロパティを "" に変更するとうまくいくかもしれません(目の前にコードがないのですが)。

で済むかもしれません。

 System.setProperty("http.agent", "");

が、もし URL プロトコルハンドラが起動時に値をキャッシュしていれば、あなたと URL プロトコルハンドラの初期化の間に競争が発生するかもしれません (実際には、そんなことはないと思います)。

プロパティは、JNLP ファイル (6u10 以降のアプレットで利用可能) とコマンドラインを通じて設定することも可能です。

-Dhttp.agent=

ラッパーコマンドの場合も

-J-Dhttp.agent=