Groovy 无法使用HtmlUnit以编程方式提交表单

Groovy 无法使用HtmlUnit以编程方式提交表单,groovy,https,htmlunit,Groovy,Https,Htmlunit,我在Groovy脚本中使用HtmlUnit从www.goodreads.com站点获取csv文件。这个脚本一直工作到最近,出现了一些奇怪的SSL错误 下面是使用过的Groovy代码 WebClient client = new WebClient(com.gargoylesoftware.htmlunit.BrowserVersion.INTERNET_EXPLORER_6); client.setJavaScriptEnabled(false); HtmlPage si

我在Groovy脚本中使用HtmlUnit从www.goodreads.com站点获取csv文件。这个脚本一直工作到最近,出现了一些奇怪的SSL错误

下面是使用过的Groovy代码

    WebClient client = new WebClient(com.gargoylesoftware.htmlunit.BrowserVersion.INTERNET_EXPLORER_6);
    client.setJavaScriptEnabled(false);
    HtmlPage signIn = client.getPage("http://www.goodreads.com/user/sign_in");
    HtmlForm signInForm = signIn.getFormByName("sign_in")
    signInForm.getInputByName("user[email]").setValueAttribute(username);
    signInForm.getInputByName("user[password]").setValueAttribute(password);
    println "I'm gonna click it !"
    HtmlPage signedIn = signInForm.getInputByName("next").click()
以及相关的@Grab

@Grab(group='net.sourceforge.htmlunit', module='htmlunit', version='2.8')
每次运行此代码时,我都会

INFO: Bad input type: "email", creating a text input
I'm gonna click it !
Caught: java.lang.RuntimeException: java.net.SocketException: java.security.NoSuchAlgorithmException:
 Error constructing implementation (algorithm: Default, provider: SunJSSE, class: com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl)
    at Goodreads.getCSV(goodreads.groovy:184)
    at Goodreads.run(goodreads.groovy:38)
    at Goodreads.main(goodreads.groovy:215)
第184行是SignInfo.getInputByNamenext.click中的一行,我认为错误发生在此处。也许这与goodreads SSL实现的选择有关,即

考虑到我可以使用Opera、Firefox正确登录该站点,该错误是如何出现的?更重要的是,我能做些什么来修复它

附加通知表单目标是url


打开此url可访问Opera显示为TLS v1.0 256位AES 1024位DHE_RSA/SHA的页面,但Opera不知道该技巧

谷歌搜索表明,在这种情况下,打电话是一个正确的解决方案。但我不知道为什么