读取connection.getInputStream()时找不到文件异常

时间:2011-04-08 11:45:46

标签: java android iis exception inputstream

我在服务器URL上发送请求,但是我发现找不到文件异常,但是当我通过网络浏览器浏览这个文件时,似乎很好。

网址url =新网址(serverUrl);                 connection = 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控制器页面。

2 个答案:

答案 0 :(得分:1)

如果请求在浏览器中正常工作但在代码中没有,并且您已验证URL是否相同,则问题可能与您将参数发送到服务器的方式有关。具体来说,这部分:

writer.write(parseParameters(CoreConstants.ACTION_PREFIX + actionName, parameters));

也许parseParameters()函数中存在错误?

但更一般地说,我建议使用比原始URLConnection更高级别的东西。 HtmlUnitHttpClient都是不错的选择,特别是因为您的请求似乎很简单。我已经使用它们在许多应用程序中执行类似的客户端/服务器交互。我建议修改您的代码以使用其中一个库,然后查看它是否仍然产生错误。

答案 1 :(得分:0)

好吧最后我发现问题出在IIS端,它已经在.Net 4.0中解决了。对于以前的版本,请转到您的web.config并指定 validateRequest == false