Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.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
Playframework Play Framework 1.2.5中带有https请求的http.NoProxyHosts_Playframework - Fatal编程技术网

Playframework Play Framework 1.2.5中带有https请求的http.NoProxyHosts

Playframework Play Framework 1.2.5中带有https请求的http.NoProxyHosts,playframework,Playframework,我希望以前有人遇到过这种情况,能给我指出正确的方向。我们正在使用application.conf中的代理设置(http.proxyHost、http.proxyPort和http.nonProxyHosts),只要请求的url是http,它们就可以正常工作。如果我们将一个主机添加到非ProxyHosts列表中,并使用https向该主机发出请求,则该请求无效(下面是示例代码和堆栈跟踪)。如果我们删除nonProxyHosts列表,请求就可以正常工作,除非它随后通过代理。无论主机是否在非代理主机列表

我希望以前有人遇到过这种情况,能给我指出正确的方向。我们正在使用application.conf中的代理设置(http.proxyHost、http.proxyPort和http.nonProxyHosts),只要请求的url是http,它们就可以正常工作。如果我们将一个主机添加到非ProxyHosts列表中,并使用https向该主机发出请求,则该请求无效(下面是示例代码和堆栈跟踪)。如果我们删除nonProxyHosts列表,请求就可以正常工作,除非它随后通过代理。无论主机是否在非代理主机列表中,使用http的请求都可以正常工作

任何帮助都将不胜感激

示例代码

public static void google()
{
    try
    {
        renderHtml(WS.url("https://www.google.com").get().getString());
    }
    catch (Exception e)
    {
        e.printStackTrace();
    }
}
当http.nonProxyHosts=www.google.com且请求为https时发生的堆栈跟踪: java.lang.RuntimeException:java.util.concurrent.ExecutionException:java.io.IOException:远程关闭[id:0x01F4269,/10.0.1.100:56663:>www.google.com/74.125.129.104:443] at play.libs.ws.WSAsync$WSAsyncRequest.get(WSAsync.java:223) 位于controllers.api.ContentAPI.google(ContentAPI.java:86) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处 位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)中 位于java.lang.reflect.Method.invoke(Method.java:597) atplay.mvc.ActionInvoker.invokeWithContinuation(ActionInvoker.java:557) atplay.mvc.ActionInvoker.invoke(ActionInvoker.java:508) atplay.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:484) atplay.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:479) atplay.mvc.ActionInvoker.invoke(ActionInvoker.java:161) 在play.server.PlayHandler$NettyInvocation.execute(PlayHandler.java:251) Invoker$Invocation.run(Invoker.java:278) 在play.server.PlayHandler$NettyInvocation.run(PlayHandler.java:229) 位于java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439) 位于java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) 位于java.util.concurrent.FutureTask.run(FutureTask.java:138) 位于java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98) 位于java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206) 位于java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 运行(Thread.java:680) 原因:java.util.concurrent.ExecutionException:java.io.IOException:远程关闭[id:0x01f42269,/10.0.1.100:56663:>www.google.com/74.125.129.104:443] 位于com.ning.http.client.providers.netty.NettyResponseFuture.abort(NettyResponseFuture.java:297) 在com.ning.http.client.providers.netty.NettyAsyncHttpProvider.abort(NettyAsyncHttpProvider.java:1321) 位于com.ning.http.client.providers.netty.nettysynchuttprovider.channelClosed(nettysynchuttprovider.java:1384) 位于org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:93) 位于org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564) 位于org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:792) 位于org.jboss.netty.handler.stream.ChunkedWriteHandler.handleUpstream(ChunkedWriteHandler.java:145) 位于org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564) 位于org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:792) 位于org.jboss.netty.handler.codec.replay.ReplayingDecoder.cleanup(ReplayingDecoder.java:636) 位于org.jboss.netty.handler.codec.replay.ReplayingDecoder.channelClosed(ReplayingDecoder.java:533) 位于org.jboss.netty.handler.codec.http.HttpClientCodec$Decoder.channelClosed(HttpClientCodec.java:218) 位于org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:93) 位于org.jboss.netty.handler.codec.http.HttpClientCodec.handleUpstream(HttpClientCodec.java:92) 位于org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564) 位于org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559) 在org.jboss.netty.channel.Channels.fireChannelClosed上(Channels.java:476) 位于org.jboss.netty.channel.socket.nio.AbstractNioWorker.close(AbstractNioWorker.java:631) 位于org.jboss.netty.channel.socket.nio.niower.read(niower.java:101) 位于org.jboss.netty.channel.socket.nio.AbstractNioWorker.processSelectedKeys(AbstractNioWorker.java:372) 位于org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:246) 位于org.jboss.netty.channel.socket.nio.niower.run(niower.java:38) 位于org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:102) 位于org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42) ... 3个以上 原因:java.io.IOException:远程关闭[id:0x01F4269,/10.0.1.100:56663:>www.google.com/74.125.129.104:443]
... 还有25个

我找到了一个仍然打开的问题:这个问题稍微相似,只是我使用WS.url(…).get()进行https连接没有问题,除非主机是http.nonProxyHosts列表。