gpt4 book ai didi

Java io.FileNotFoundException;有问题的可疑港口

转载 作者:行者123 更新时间:2023-12-01 06:17:24 26 4
gpt4 key购买 nike

上下文:我是一位非常有经验的程序员,但不是一位非常有经验的 Java 程序员。

我继承了一小段代码,用于生成 JNLP 来包装 JAR,以便收集有关客户端计算机的一些信息。在 URL 中未显式指定端口的情况下,这始终工作正常,但在我需要显式指定端口的测试环境中却失败了。

相关的Java代码是:

URL RegURL = new URL(System.getProperty("jnlp.reg"));
...

try {
//Create connection
connection = (HttpURLConnection)RegURL.openConnection();
connection.setRequestMethod("POST");
connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
connection.setRequestProperty("Content-Length", "" + Integer.toString(urlParameters.getBytes().length));
connection.setRequestProperty("Content-Language", "en-US");
connection.setUseCaches(false);
connection.setDoInput(true);
connection.setDoOutput(true);

//Send request
DataOutputStream wr = new DataOutputStream (connection.getOutputStream ());
wr.writeBytes (urlParameters);
wr.flush ();
wr.close ();

//Get Response
InputStream is = connection.getInputStream();
...
} catch (Exception e) {
...
} finally {
...
}

RegURL 的值格式为 "http://arthur.OURCOMPANY.com:81/fb/register.php",并且我已确认是这样的。但我收到客户端错误:

java.io.FileNotFoundException: http://arthur.OURCOMPANY.com/fb/register.php
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at main.main(main.java:253)
...

这意味着错误是由行 InputStream is = connection.getInputStream(); 引发的我认为这意味着端口号在途中的某个地方丢失了,并且它正在使用一个我确实希望无效的 URL。但是,我不知道为什么端口号会丢失。

欢迎任何见解。

最佳答案

this answer 中所述您可能需要设置 User-AgentAccept 属性。我的猜测是,如果您使用非标准端口,URLConnection 无法正确猜测您期望接收的内容类型。

关于Java io.FileNotFoundException;有问题的可疑港口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21102073/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com