UserAgentUtils始终提供null浏览器版本

时间:2012-01-25 15:52:54

标签: java user-agent kettle

我正在使用UserAgentUtils Java库在PDI转换期间从用户代理字符串的浏览器中提取用户代理详细信息,但无论我做什么,我总是在解析用户代理字符串后从库中找回null版本,即使我能清楚地看到字符串中的版本。例如:

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作业。

1 个答案:

答案 0 :(得分:0)

您是否尝试为jetty http客户端请求设置http代理值?

我在用户定义的java类上执行此操作:

import java.lang.System.*;
...
System.setProperty("http.agent", "my cool crawler, mycoolcrawler@example.com");

现在来自水壶的所有http请求都会发送带有此信息的用户代理标头