2012-01-25 27 views
0

我正在使用UserAgentUtils Java庫在PDI轉換期間從用戶代理瀏覽器字符串中提取用戶代理詳細信息,但無論我做什麼,我都始終從庫中取回空版本解析用戶代理字符串後,即使我能清楚地看到字符串中的版本。例如:UserAgentUtils始終提供空瀏覽器版本

String userAgentString = "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US) AppleWebKit/533.3 (KHTML, like Gecko) capybara-webkit Safari/533.3" 
UserAgent userAgent = new UserAgent(userAgentString) 
userAgent.getBrowserVersion() //always comes back null 

有兩個問題。我沒有正確地從UserAgentUtils獲取數據(這似乎不是一個錯誤,因爲在他們的錯誤跟蹤系統中沒有與此相關的問題歷史記錄)?

另外,是否有另一個Java或JavaScript庫可以用來從用戶代理字符串中提取組件信息?任何一個都可以,因爲我可以同樣輕鬆地在代碼所在的PDI工作中使用。

回答

0

您是否嘗試爲jetty http客戶端請求設置http代理值?

我這樣做對我的用戶定義的Java類:

import java.lang.System.*; 
... 
System.setProperty("http.agent", "my cool crawler, [email protected]"); 

現在所有的HTTP從水壺請求將發送用戶代理頭與此信息

+0

不,我確實需要從http提取數據服務器日誌,但不需要爲請求設置它。 –