我最近开始在我的网站上看到像Java / 1.6.0_14(和变体)这样的用户代理
这是什么意思。它是浏览器还是机器人或什么
答案 0 :(得分:12)
这可能意味着有人使用Java抓取您的网站。除非您发现使用大量带宽或不遵守robots.txt文件的抓取工具,否则这并不是什么值得关注的事情。通常合法的抓取工具会花时间创建自定义用户代理,以便在遇到问题时轻松联系抓取工具,但即使他们使用的是默认用户代理,也很可能完全是良性的。
但是,如果您确实注意到来自Java客户端的404次点击或批次点击的高峰,您可能会受到垃圾邮件发送者的攻击,这些垃圾邮件发送者会在您的网站中寻找安全漏洞。如果您的网站构建良好,除了刻录您的部分带宽之外,他们不能做很多事情,但如果他们发现安全漏洞,他们肯定会利用它。正确处理垃圾邮件发送者超出了这个答案的范围,但是焦土解决方案(至少可以作为短期解决方案)将阻止包含字符串'java'的所有用户代理。
答案 1 :(得分: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();
}
}
}
答案 2 :(得分:1)
Java的HttpURLConnection
类将JVM版本信息作为User-Agent
标头发送。