首页 > Java > java教程 > 如何设置Java URLConnection的用户代理?

如何设置Java URLConnection的用户代理?

Patricia Arquette
发布: 2024-12-06 07:21:12
原创
499 人浏览过

How to Set the User Agent of a Java URLConnection?

设置Java URLConnection的用户代理

在Java中使用URLConnection解析网页时,正确设置用户代理至关重要。但是,默认情况下,指定的用户代理会附加“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
登录后复制

示例代码

以下代码提供了如何设置用户代理和检索网页内容类型的完整示例:

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板