在我的數據庫中,我有一長串的用戶代理,我需要它們的翻譯,一個非常有前途的工具是WURFL,但它沒有gradle支持並且沒有很好的記錄。 我可以恢復的所有示例都解釋瞭如何使用java servlet實現它,但在我的情況下,我沒有servlet或http請求\響應只是需要翻譯的一長串用戶代理,是否有一個簡單的使用簡單的java程序查詢WURFL數據庫的方法?沒有servlet的WURFL
-1
A
回答
1
最好的解決方案是自己編譯wurfl-cloud-client-java jar(Maven),它可以在:https://github.com/WURFL/wurfl-cloud-client-java 中找到,其他地方沒有jar \ maven \ gradle。
然後將它導入到項目,並運行以下命令:
@Test(groups = "unit")
public class CloudClientUserAgentQueryTest extends Loggable{
private static final String ua = "Mozilla/5.0 (iPad; CPU OS 7_0 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) CriOS/30.0.1599.12 Mobile/11A465 Safari/8536.25 (3B92C18B-D9DE-4CB7-A02A-22FD2AF17C8F)";
private ICloudClientManager ICloudClient;
private AbstractDevice device;
private String[] capabilities;
private String mobile;
@BeforeClass
public void setup() throws Exception {
CloudClientLoader loader = new CloudClientLoader(null, "/DefaultTest.properties");
ICloudClient = loader.getClientManager();
}
@BeforeMethod
public void setupDevice() {
device = ICloudClient.getDeviceFromUserAgent(ua, capabilities);
Object mobile = device.get("is_wireless_device");
this.mobile = mobile != null ? mobile.toString() : "unknown";
}
@Test
public void testClient() {
assertTrue(mobile.equals("true"));
}
}
-1
51Degrees的Java API支持用戶代理的列表的離線處理。我看到how to use this feature on their website的解釋。
但是,由於大量用戶代理包含逗號,我建議將代碼中的輸出CSV分隔符從上述鏈接更改爲其他內容以避免混淆。
此方法使用用戶代理列表作爲每行一個用戶代理的輸入。
希望有所幫助。
0
最簡單的方法就是使用普通的舊WURFL Java API,它可以使用簡單的可執行Java類。你只要把它放在你的classpath(或與Maven導入它,在你使用它的情況下),做這樣的事情:
public static void main(String[] args) {
String ua = "Mozilla/5.0 (iPad; CPU OS 7_0 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) CriOS/30.0.1599.12 Mobile/11A465 Safari/8536.25 (3B92C18B-D9DE-4CB7-A02A-22FD2AF17C8F)";
WURFLEngine engine = new GeneralWURFLEngine("path/to/wurfl.zip");
Device device = engine.getDeviceForRequest(ua);
System.out.println("Device id: " + device.getId());
System.out.println("Capability preferred_markup: " + device.getCapability("preferred_markup"));
System.out.println("Device name: " + device.getCapability("device_name"));
System.out.println("Brand: " + device.getCapability("brand_name"));
}
請注意,您將需要一個WURFL文件。如果您沒有它(當前文件版本由Scientiamobile根據商業許可分發),則前面提到的雲客戶端Java也可以工作。
相關問題
- 1. 有沒有wurfl python api?
- 2. 「有是id的設備[普通]在WURFL」在Zend的實施WURFL
- 3. FileUpload沒有Servlet
- 4. Servlet沒有響應
- 5. 的Servlet沒有找到
- 6. 我的servlet沒有找到
- 7. wurfl maven 1.4
- 8. 實施Wurfl
- 9. servlet沒有堅持實體
- 10. 沒有一個Servlet容器
- 11. servlet沒有被調用
- 12. Tomcat沒有運行servlet
- 13. ajax沒有被servlet接收
- 14. 登錄Servlet沒有響應
- 15. ServletException:沒有指定servlet類
- 16. Servlet沒有設置屬性?
- 17. 無比的鏈接不會觸發的Servlet沒有從servlet的
- 18. 的Tomcat 5.5沒有找到我的servlet
- 19. 的Java Servlet的RequestDispatcher沒有轉發URL
- 20. WURFL的新API問題
- 21. WURFL的競爭對手java
- 22. 從HTML表單調用servlet的,但沒有從servlet響應
- 23. IllegalArgumentException - '沒有Servlet上下文來調度'異步servlet的錯誤
- 24. ID似乎並沒有被在servlet的
- 25. Servlet的響應沒有刷新JSP
- 26. 我的html沒有提交到servlet
- 27. Tomcat沒有看到我的servlet
- 28. Eclipse沒有編譯我的servlet
- 29. Maven生成的GWT Servlet沒有響應
- 30. 沒有servlet的CXF客戶端
謝謝,但我需要使用WURFL之一。 – Adi