使用什么代替 sun.net.www.protocol.http.HttpURLConnection.userAgent?

Cha*_*own 4 java httpurlconnection

我收到此警告

[javac] SSLTunnelSocketFactory.java:120:警告:sun.net.www.protocol.http.HttpURLConnection 是 Sun 专有 API,可能会在未来版本中删除 [javac] + sun.net.www.protocol.http.HttpURLConnection。用户代理

为了

  if(NetworkUtils.isIPV6Compatible()&& NetworkUtils.isValidIPV6Address(host)){
     msg = "CONNECT [" + host + "]:" + port + " HTTP/1.0\n"
       + "User-Agent: "
       + sun.net.www.protocol.http.HttpURLConnection.userAgent
       + "\r\n\r\n";
  }
Run Code Online (Sandbox Code Playgroud)

您知道我可以使用什么来代替(最好不是外部 jar,而是来自已安装的 JVM)?

Pin*_*ino 5

默认情况下,该变量定义如下:

String javaVersion = "Java/" + System.getProperty("java.version");
String userAgent = System.getProperty("http.agent") == null ? javaVersion : System.getProperty("http.agent") + " " + javaVersion;
Run Code Online (Sandbox Code Playgroud)

因此,您可以用这个变量或您的应用程序名称或您喜欢的任何其他字符串替换该变量(因为生成的字符串不是常见浏览器的用户代理,我假设没有 JavaScript 或任何其他代码会检查它)。