kfi*_*fir 11 java http-post request
我创建了一个将http post请求发送到另一台服务器的java应用程序.
该应用程序在C盘中的PC上完美运行.
应用程序一词完美在PC上与本地映射驱动器.
但是当我将我的应用程序放入网络映射驱动器时,我收到一个错误:
java.net.SocketException:无效参数:在映射驱动器中创建
这是我的代码
HttpClient httpClient = HttpClientBuilder.create().build();
HttpPost postRequest = new HttpPost(getUrl());
postRequest.setHeader(AUTHERIZTION, getAuthString());
HttpResponse response = httpClient.execute(postRequest);
Run Code Online (Sandbox Code Playgroud)
这是完整的错误:
java.net.SocketException:无效参数:
在java.net.Socket.getImpl(未知源)创建java.net.Socket.createImpl(未知源)
, 位于org.apache的
java.net.Socket.setSoTimeout(未知源)
.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientCo nnectionOperator.java:119)
在org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientCon nectionManager.java:353)
在org.apache.http.impl.execchain .MainClientExec.establishRoute(MainClientExec.java:380)
org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)
org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java) :184)
在org.apache的org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88)
org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
. http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:107)atg.apache.http.impl.client.CloseableHttpClient.execute
(CloseableHttpClient.java:55)
at rest.RestClient.postGetQuery(RestClient) .java:105)
at Main.Smain
(Main.java:21)的Main.runAction(Main.java:63)
中的frame.ScanJFrame.initProperty(ScanJFrame.java:195)
我试过这个:
setx _JAVA_OPTIONS -Djava.net.preferIPv4Stack=true
Run Code Online (Sandbox Code Playgroud)
但没有改变.
我能做什么?
tnx很多
危险猜测,服务器没有绑定到端口来侦听网络外部计算机连接,无论是在它自己的配置文件中,还是在外部调用 PC 正在使用的操作系统配置“网络设置”中的计算机端口上,以及 http 上应该只是一个被调用的域 http url。
我还最好指出,jdk 或 jre 在其 /bin 目录中有一个“jconsole”程序,可用于为运行调用者 JVM 的二进制文件设置网络连接。这似乎是问题所在,您的 java 客户端程序需要绑定到另一台机器的端口才能连接到它。
如果您从另一台计算机调用文件,请使用映射驱动器语法“file://”+“//servername/afolder/file.txt”此方案适用于映射驱动器的 URL。
| 归档时间: |
|
| 查看次数: |
606 次 |
| 最近记录: |