首页 > Java > java教程 > 如何在不添加 Java 的情况下设置 Java URLConnection 的用户代理?

如何在不添加 Java 的情况下设置 Java URLConnection 的用户代理?

Mary-Kate Olsen
发布: 2024-11-30 20:59:12
原创
543 人浏览过

How to Set the User Agent of a Java URLConnection Without Java Additions?

在不添加 Java 的情况下设置 Java URLConnection 的用户代理

在 Java 中,设置 URLConnection 的 User-Agent 属性通常会添加“ Java/版本”到指定代理字符串的末尾。要实现纯用户指定的 User-Agent,需要执行以下步骤:

Java 1.6.30 及更高版本

在 Java 版本 1.6.30 及更高版本中, setRequestProperty("User-Agent", "user-agent-string") 设置代理,无需添加 Java。这可以通过使用 netcat 等端口侦听器侦听传入请求来确认:

$ nc -l -p 8080
登录后复制

如果没有 setRequestProperty,标头将如下所示:

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
登录后复制

使用 setRequestProperty,用户 -代理将正确设置:

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
登录后复制

Full示例:

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 的情况下设置 Java URLConnection 的用户代理?的详细内容。更多信息请关注PHP中文网其他相关文章!

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