Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java HTMLUNIT中的代理自动配置错误_Java_Proxy_Htmlunit_Pac - Fatal编程技术网

Java HTMLUNIT中的代理自动配置错误

Java HTMLUNIT中的代理自动配置错误,java,proxy,htmlunit,pac,Java,Proxy,Htmlunit,Pac,我有一个使用Htmlunit的应用程序,我需要使用PAC文件,但Htmlunit显示了一个错误,我不知道为什么 PAC文件是用Javascript编写的,扩展名为“.cgi” 代码是: WebClient-WebClient=new-WebClient() webClient.getOptions().setJavaScriptEnabled(true) webClient.getOptions().setActiveXNative(true) webClient.getOptions().se

我有一个使用Htmlunit的应用程序,我需要使用PAC文件,但Htmlunit显示了一个错误,我不知道为什么

PAC文件是用Javascript编写的,扩展名为“.cgi”

代码是:

WebClient-WebClient=new-WebClient()

webClient.getOptions().setJavaScriptEnabled(true)
webClient.getOptions().setActiveXNative(true)
webClient.getOptions().setAppletEnabled(true)
webClient.getOptions().setCssEnabled(false)
webClient.getOptions().setPopupBlockerEnabled(true)
webClient.getOptions().setRedirectEnabled(true)
webClient.getOptions().setThroweExceptionOnFailingStatusCode(false)
webClient.getOptions().setThroweExceptionOnScriptError(false)
webClient.getOptions().setUseInsecureSSL(true)

webClient.setAjaxController(新的NicelyResynchronizingAjaxController())

webClient.getOptions().getProxyConfig().SetProxyAutoConfigure(“http://domain/proxy.pac");

HtmlPage currentPage=webClient.getPage(web)

错误是:

线程“main”java.lang.StackOverflower中出现异常 在java.io.IOException.(IOException.java:58) 位于java.io.InterruptedIOException。(InterruptedIOException.java:64) 位于java.net.SocketTimeoutException。(SocketTimeoutException.java:43) 位于java.net.SocketInputStream.socketRead0(本机方法) 位于java.net.SocketInputStream.read(SocketInputStream.java:150) 位于java.net.SocketInputStream.read(SocketInputStream.java:121) 位于org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:160) 位于org.apache.http.impl.io.SocketInputBuffer.fillBuffer(SocketInputBuffer.java:84) 位于org.apache.http.impl.io.SocketInputBuffer.isDataAvailable(SocketInputBuffer.java:95) 位于org.apache.http.impl.AbstractHttpClientConnection.isStale(AbstractHttpClientConnection.java:310) 位于org.apache.http.impl.conn.ManagedClientConnectionImpl.isStale(ManagedClientConnectionImpl.java:158) 位于org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:432) 位于org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:863) 在org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72) 位于com.gargoylesoftware.htmlunit.HttpWebConnection.getResponse(HttpWebConnection.java:167) 在com.gargoylesoftware.htmlunit.WebClient.loadWebResponseFromWebConnection上(WebClient.java:1281) 在com.gargoylesoftware.htmlunit.WebClient.loadWebResponse(WebClient.java:1198)上 在com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:307)上 在com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:376)上 在com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:361)上 在com.gargoylesoftware.htmlunit.WebClient.loadWebResponseFromWebConnection上(WebClient.java:1237) 位于com.gargoylesoftware.htmlunit.WebClient.loadWebResponseFromWebConnection(WebClient.java:1339) 在com.gargoylesoftware.htmlunit.WebClient.loadWebResponse(WebClient.java:1198)上 在com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:307)上 在com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:376)上 在com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:361)

有更多的错误行,但我没有推杆

有什么想法吗

webClient.getOptions().getProxyConfig().setProxyAutoConfigUrl("http://domain/proxy.pac");   
我认为上面的问题请检查代理的url,这是不正确的。
请先在浏览器中打开它,如果它已正确打开,然后在代码中应用它

这个网址是发明出来的。当我检查代理的真实url时,浏览器会下载一个扩展名为“.cgi”的文件,其中包含javascript代码。也许这就是问题所在?换句话说,我有一个javascript函数文件(我认为是自动配置代理),扩展名为“cgi”,而不是pac(我不知道这是否正确,因为我不理解代理)。有没有办法将此配置分配给webClient(