我在服务器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控制器页面。
答案 0 :(得分:1)
如果请求在浏览器中正常工作但在代码中没有,并且您已验证URL是否相同,则问题可能与您将参数发送到服务器的方式有关。具体来说,这部分:
writer.write(parseParameters(CoreConstants.ACTION_PREFIX + actionName, parameters));
也许parseParameters()
函数中存在错误?
但更一般地说,我建议使用比原始URLConnection
更高级别的东西。 HtmlUnit和HttpClient都是不错的选择,特别是因为您的请求似乎很简单。我已经使用它们在许多应用程序中执行类似的客户端/服务器交互。我建议修改您的代码以使用其中一个库,然后查看它是否仍然产生错误。
答案 1 :(得分:0)
好吧最后我发现问题出在IIS端,它已经在.Net 4.0中解决了。对于以前的版本,请转到您的web.config并指定 validateRequest == false