我正在服务器 URL 上发送请求,但遇到“文件未找到”异常,但当我通过网络浏览器浏览此文件时,情况似乎很好。
URL url = 新 URL(serverUrl); 连接 = getSecureConnection(url);
// Connect to server
connection.connect();
// Send parameters to server
writer = new BufferedWriter(new OutputStreamWriter(connection.getOutputStream(), "UTF-8"));
writer.write(parseParameters(CoreConstants.ACTION_PREFIX + actionName, parameters));
writer.flush();
// Read server's response
reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
当我尝试 getInputStream 时,它会抛出错误文件未找到。 这是一个 .aspx Controller 页面。
最佳答案
如果请求在浏览器中工作正常,但在代码中工作不正常,并且您已验证 URL 是否相同,则问题可能与您将参数发送到服务器的方式有关。具体来说,这部分:
writer.write(parseParameters(CoreConstants.ACTION_PREFIX + actionName, 参数));
也许parseParameters()
函数中存在错误?
但更一般地说,我建议使用比原始 URLConnection
更高级别的东西。 HtmlUnit和 HttpClient都是不错的选择,特别是因为您的要求似乎相当简单。我已经使用两者在许多应用程序中执行类似的客户端/服务器交互。我建议修改您的代码以使用这些库之一,然后查看它是否仍然产生错误。
关于java - 读取connection.getInputStream()时文件未找到异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5594558/