假设我想使用以 JavaFX 编写的程序为“ www.foo.com ”手动解析Google ReCaptcha。
1)我对此网站有一个{sitekey},并且使用本地HTTP Server(localhost)在JavaFX程序的WebView组件中显示reCaptcha UI。我的本地主机返回一个简单页面的HTML:
<html>
....
<script src="https://www.google.com/recaptcha/api.js?hl=en"></script>
<div class="g-recaptcha" data-callback="recaptchaCallback" data-sitekey="{sitekey}"></div>
....
</html>
2)当“本地主机”在网站{sitekey}的受支持域列表中(在Google端),一切正常。
3)如果“ localhost”未包含在受支持的域列表中,我将得到:
4)当我在本地计算机上模拟网站“ www.foo.com”的子域时,例如“ local.foo.com”:
HttpServer server = HttpServer.create(new InetSocketAddress("local.foo.com", 8080), 1);
我为本地DNS解析器的OS“主机”文件添加了一个新条目: 127.0.0.1 localhost local.foo.com
问题:
1)我不是“ www.foo.com”的所有者,因此未将其真正的子域设置为“本地”
2)我不是管理员,无法编辑“主机”文件并在本地启动“ local.foo.com”。
如何在不编辑OS系统的“主机”文件的情况下在本地计算机上启动或模拟名为“ local.foo.com”的本地服务器?
或者使用代理服务器将“ local.foo.com”的流量重定向到“ localhost”并重新发送HTML响应,是否有任何技巧?
谢谢。