Dış IP adresimi kontrol etmek ve değiştirildiyse DNS girişlerimi güncellemek için basit bir Java kodu parçası yazıyorum.HTMLunit tarayıcı otomasyonu SSL hatasına neden oluyor
NetBeans ve HTMLunit kullanıyorum. Kodun ilk kısmı tamam çalışıyor. Kodum, uygun bir dış IP adresini alır: WhatIsMyIp.com
DNS sağlayıcı web sayfama (fastname.no) giriş yapmayı içeren ikinci kısım aşağıda eklenmiştir.
>
> public void LoginToDNS(HtmlPage LogInPage) throws Exception {
> try (final WebClient webClient = new WebClient()) {
>
> //get the webpage data we're looking for
> // also get the buttons and textfields
> final List<?> forms = LogInPage.getForms();
> final HtmlForm form = LogInPage.getFormByName("form1");
> final HtmlTextInput UsernameField = form.getInputByName("username");
> final HtmlPasswordInput PasswordField = form.getInputByName("password");
> final HtmlButton submit_button = form.getButtonByName("submit");
>
> // Set the Username and pasword
> UsernameField.setValueAttribute("myusername");
> PasswordField.setValueAttribute("mypassword");
>
> // submit the form by clicking the button and get back the control panel page
> final HtmlPage DNSPage = submit_button.click();
> CheckDNSEntries(DNSPage);
>
> }
> }
Ben bir SSL hata görebilirsiniz ve elde edilen web sayfası ne istiyorum değil ben (doğru olana sayfa başlığı değişiklikler nedeniyle, biliyorum) düzgün Giriş yaptıktan görebilirsiniz rağmen
java.util.concurrent.ExecutionException: java.io.IOException: Cannot init SSL
....
Caused by: java.io.IOException: Cannot init SSL
......
at org.eclipse.jetty.websocket.client.io.WebSocketClientSelectorManager.newConnection(WebSocketClientSelectorManager.java:96)
... 3 more
Doğru, HtmlUnit'in gelen debugger hataların bir sürü bir cehennem görüyoruz.
Apr 12, 2016 10:36:49 AM com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError
SEVERE: runtimeError: message=[An invalid or illegal selector was specified (selector: '*,:x' error: Invalid selector: :x).] sourceName=[https://www.fastname.no/panel/js/custom/bootstrap.js?bust=?v20160408110428] line=[66] lineSource=[null] lineOffset=[0]
Apr 12, 2016 10:36:49 AM com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError
SEVERE: runtimeError: message=[An invalid or illegal selector was specified (selector: '*,:x' error: Invalid selector: :x).] sourceName=[https://www.fastname.no/panel/js/custom/bootstrap.js?bust=?v20160408110428] line=[66] lineSource=[null] lineOffset=[0]
Apr 12, 2016 10:36:51 AM com.gargoylesoftware.htmlunit.javascript.background.JavaScriptJobManagerImpl runSingleJob
SEVERE: Job run failed with unexpected RuntimeException: [object Object] (https://www.googletagmanager.com/gtm.js?id=GTM-TWH4RS&bust=?v20160408110428#65)
======= EXCEPTION START ========
Exception class=[net.sourceforge.htmlunit.corejs.javascript.JavaScriptException]
com.gargoylesoftware.htmlunit.ScriptException: [object Object] (https://www.googletagmanager.com/gtm.js?id=GTM-TWH4RS&bust=?v20160408110428#65)
Apr 12, 2016 10:36:52 AM com.gargoylesoftware.htmlunit.javascript.background.JavaScriptJobManagerImpl runSingleJob
SEVERE: Job run failed with unexpected RuntimeException: [object Object] (https://www.googletagmanager.com/gtm.js?id=GTM-TWH4RS&bust=?v20160408110428#65)
======= EXCEPTION START ========
Exception class=[net.sourceforge.htmlunit.corejs.javascript.JavaScriptException]
com.gargoylesoftware.htmlunit.ScriptException: [object Object] (https://www.googletagmanager.com/gtm.js?id=GTM-TWH4RS&bust=?v20160408110428#65)
at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.handleJavaScriptException(JavaScriptEngine.java:982)
at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAction.run(JavaScriptEngine.java:894)
2016-04-12 10:36:55.106:INFO::JS executor for [email protected]: Logging initialized @10613ms
Apr 12, 2016 10:36:55 AM com.gargoylesoftware.htmlunit.javascript.host.WebSocket run
SEVERE: WS connect error
java.util.concurrent.ExecutionException: java.io.IOException: Cannot init SSL
at org.eclipse.jetty.util.FuturePromise.get(FuturePromise.java:123)
at com.gargoylesoftware.htmlunit.javascript.host.WebSocket$1.run(WebSocket.java:130)
Bu JavaScript işleme bir HtmlUnit'in sorundur yoksa sadece benim kod olsun oldukça emin değilim (aşağıya bakınız). Daha hızlı gitmek istediğim yeri alacağım HTML birimi yerine kullanabileceğim daha iyi bir çözüm var mı? Sonuçta, gerçekleştirmek istediğim görevin nispeten basit olduğunu düşünüyorum.
:(Zaten kodu ekledikten –
ama Ι hala SSL hatası olsun.Ana sayfanın sonuç HTML kodunun kopyalanması ve yapıştırılması ve sadece alt çerçevenin döndüğü görünüyor.Javascript bir tür orta çerçeve –
göstermiyor En azından tüm HtmlUnit gizlemek başardı mı belirli günlükler – haihui