1

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

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 作业中使用其中任何一个。

4

1 回答 1

0

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

我在我的用户定义的 java 类上这样做:

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

现在您所有来自kettle的http请求都将发送带有此信息的用户代理标头

于 2012-10-11T09:55:54.410 回答