[英]Detect Javafx webview
所以我正在创建一个Java桌面程序。 该程序转到在jsp上运行的身份验证网页。 并使用javafx webview(在WebKit上运行)执行此操作
我的问题是我该如何检测是否正在使用Java Webview访问该网页,然后如果未断开连接或重定向该客户端以帮助降低垃圾邮件身份验证请求。
JavaFX WebView允许您使用WebEngine上的用户代理属性来设置用户代理字符串。 您可以使用此选项将用户代理设置为所需的任何内容。 然后,当WebView客户端请求网页时,它将在用户代理标头中提供此值。 您的服务器代码可以查询用户代理标头,然后根据结果执行它认为必要的任何操作。
根据此答案 ,用户代理字符串的默认输出为:
User Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.44 (KHTML, like Gecko) JavaFX/8.0 Safari/537.44
如WebEngine文档中所述,此值可以在JavaFX版本和操作系统之间更改。 最有可能的是,默认值将始终包含文本JavaFX
,因此您可以仅在服务器上检查用户代理字符串是否包含文本JavaFX
。 否则,如果您想确保自己的安全,则可以对JavaFX客户端进行编码,以将用户代理字符串显式设置为您在服务器上检查的值。
要查看如何在JSP中检查用户代理,请参考:
这表明您将编写如下内容:
<c:if test="${fn:contains(header['User-Agent'],'JavaFX')}"></c:if>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.