Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.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 HttpClient赢得';无法连接端口993?_Java_Apache_Http_Rest - Fatal编程技术网

Java HttpClient赢得';无法连接端口993?

Java HttpClient赢得';无法连接端口993?,java,apache,http,rest,Java,Apache,Http,Rest,我有一个Tomcat实例设置来监听端口80xx。它拥有一个REST服务。 我使用WizTools RESTClient 3.2进行了客户端测试,一切正常。然后,我被要求将服务器的侦听端口切换到993,这通常是为IMAP保留的(不要问为什么…) 实际上,设置中唯一改变的是连接器端口。现在,RESTClient失败,出现以下异常: Connection reset java.net.SocketException: Connection reset at java.net.SocketInputSt

我有一个Tomcat实例设置来监听端口80xx。它拥有一个REST服务。 我使用WizTools RESTClient 3.2进行了客户端测试,一切正常。然后,我被要求将服务器的侦听端口切换到993,这通常是为IMAP保留的(不要问为什么…)

实际上,设置中唯一改变的是连接器端口。现在,RESTClient失败,出现以下异常:

Connection reset
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:166)
at org.apache.http.impl.io.SocketInputBuffer.fillBuffer(SocketInputBuffer.java:90)
at org.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:281)
at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:92)
at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:62)
at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:254)
at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:289)
at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:252)
at org.apache.http.impl.conn.ManagedClientConnectionImpl.receiveResponseHeader(ManagedClientConnectionImpl.java:191)
at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:300)
at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:127)
at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:715)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:520)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805)
at org.wiztools.restclient.HTTPClientRequestExecuter.execute(HTTPClientRequestExecuter.java:387)
at org.wiztools.restclient.ui.RESTViewImpl$2.run(RESTViewImpl.java:322)
随后,它显示
wget
curl
telnet
在更改的端口(993)上工作正常,因此它一定是
HttpClient
问题(在应用程序中使用)


有人能说出这种行为的原因吗?

我尝试在端口
993
994
上运行一个裸apache tomcat实例

我发现Google Chrome能够访问
994
,但不能访问
993
,因为它是
IMAPS
的受限端口。(有趣的事实是,我不知道:所有浏览器都会阻止这些非标准HTTP端口,因为它们会带来安全风险。例如,如果您向下滚动到第
94行,您可以访问Google Chrome的所有受限端口。)

对Mac使用
WizTools RESTClient 3.2.1
对我来说是可行的,但这是本地的。根据您的网络情况,网络/防火墙可能会出现一些奇怪的情况,因为
curl
等都在工作,所以我认为这不是
HttpClient
的实际问题,因为它应该像
curl
等那样工作。也许它与
3.2
有关,而不是
3.2.1

见:


但您是舒尔,您的
服务器运行在993上,而不是邮件服务器?也许你的服务器simple没有启动(并且悄无声息地死去)。我不确定你到底在问什么,但是是的-Tomcat肯定在端口993上,因为在此之前这个端口没有使用过。正如我所说,我使用
curl
wget
telnet
对其进行了本地和远程测试。没错,浏览器确实会阻止这些非标准端口。我会检查新版本的客户端,看看会发生什么。不,3.2.1版也会发生同样的事情。我忘记提到的是,我从桥接的来宾Ubuntu虚拟机(我的主机操作系统是Windows7)运行了
curl
wget
telnet
命令。所以,我也试着从Ubuntu上运行
RESTClient
,猜猜看——它工作得很好:)这是操作系统级别的东西,可能是防火墙,但我无法找出问题所在。我必须给你至少+1的努力和想法,从不同的操作系统运行RC;)Ubuntu防火墙可能正在阻止该端口。你说在Windows上使用telnet连接Ubuntu盒是正确的吗?这里显然有一个误解…:)Tomcat托管在远程服务器上,具有可公开访问的端口993。我(客户端)有Windows7主机和Ubuntu来宾。在Windows主机上运行
RESTClient
时,我无法联系到993上的Tomcat。在Ubuntu客户机上使用
RESTClient
时,效果很好。所以,它一定是Windows防火墙或其他什么,尽管我还没有发现阻止这个端口的规则。Ubuntu没有启用FW,我现在明白了。有三个操作系统在运行。如果它在Ubuntu客户端上运行良好,那么它就是与windows相关的。如果您有反病毒软件,请尝试禁用它。