5

我最近开始在我的网站上看到像 Java/1.6.0_14(和变体)这样的用户代理

这是什么意思。是浏览器还是机器人还是什么

4

3 回答 3

12

这可能意味着有人正在使用 Java 抓取您的网站。除非您注意到爬虫使用大量带宽或不尊重您的 robots.txt 文件,否则这没什么好担心的。通常合法的爬虫会花时间创建自定义用户代理,以便在遇到问题时轻松联系爬虫,但即使他们使用默认用户代理,它也很可能是完全良性的。

但是,如果您确实注意到来自 Java 客户端的 404 次点击或大量点击,您很可能会受到垃圾邮件发送者的攻击,这些垃圾邮件发送者会在您的网站中寻找安全漏洞。如果您的站点构建良好,那么除了消耗您的一些带宽之外,他们无能为力,但如果他们发现了安全漏洞,他们肯定会利用它。正确处理垃圾邮件发送者超出了此答案的范围,但焦土解决方案(至少可以作为短期修复)将阻止所有包含字符串“java”的用户代理。

于 2009-07-02T03:51:52.633 回答
5

这意味着您的站点正在通过某人机器上的 JVM 访问。它可能是爬虫,也可能只是抓取数据的人。您可以使用HttpURLConnection类复制用户代理字符串。这是一个示例:

import java.net.*;

public class Request {

    public static void main(String[] args) {

        try {       
            URL url=new URL("http://google.ca");
            HttpURLConnection con=(HttpURLConnection)url.openConnection();
            con.connect();
            System.out.println(con.getResponseCode());
        } catch (Exception e) {
            e.printStackTrace();
        }

    }

}
于 2009-07-02T03:47:22.497 回答
1

Java 的HttpURLConnection类将 JVM 版本信息作为User-Agent标头发送。

于 2009-07-02T03:49:54.600 回答