2009-07-02 64 views
5

我最近開始在我的網站上看到諸如Java/1.6.0_14(和變體)的用戶代理Java用戶代理

這是什麼意思。它是瀏覽器或機器人還是什麼

回答

12

這可能意味着某人正在使用Java來抓取您的網站。除非您注意到抓取工具使用大量帶寬或不尊重robots.txt文件,否則這並不值得關注。如果您遇到問題,通常合法抓取工具會花時間創建自定義用戶代理,以便輕鬆聯繫抓取工具,但即使他們使用的是默認用戶代理,也可能完全沒有問題。但是,如果您注意到來自Java客戶端的命中404次命中或批次,那麼您可能受到尋找您網站安全漏洞的垃圾郵件發送者的攻擊。如果您的網站構建得很好,除了刻錄一些帶寬外,他們可以做的不多,但是如果他們發現安全漏洞,他們一定會利用它。正確地處理垃圾郵件發送者已經超出了這個答案的範圍,但是焦土解決方案(至少可以作爲短期解決方案)將阻止包含字符串'java'的所有用戶代理。

+0

難道這不能阻止一些android平板電腦等?我的意思是,也許Java版本在UA中,但不一定是因爲它們使用Java的UrlConnection。 – 2013-02-13 15:44:14

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(); 
     } 

    } 

}