【问题标题】:Unable to connect to the remote server - jQuery is possible, HttpWebRequest .NET fails无法连接到远程服务器 - 可以使用 jQuery,HttpWebRequest .NET 失败
【发布时间】:2012-09-26 09:36:45
【问题描述】:

我正在 Azure 中设置一个 ASP.NET MVC 项目,它们将连接到我的 Tomcat 网络服务。

在控制器中,我对 web 服务执行 HttpWebRequest,但是当我访问 Azure 中的网站时,我收到以下消息:

System.Net.WebException:无法连接到远程服务器 ---> System.Net.Sockets.SocketException:试图以访问权限禁止的方式访问套接字

如果我在 MVC 视图中向服务器发出 jQuery 请求,我会收到来自 web 服务的消息。

问题是网络服务问题还是 CORS(跨域资源共享)问题?

有人有想法/解决方案吗?

【问题讨论】:

  • 你在 HttpWebRequest 中使用的是什么 url? localhost 还是 cloudapp.net 地址?
  • 我使用的是 url:192.168.50.205:8080/restofurlstring,所以它是 localhost 的 url。所以我想这就是问题所在,但为什么 jQuery 可以访问它?
  • 可能是因为 jQuery 在客户端(在您的浏览器中)执行,并且您可以从您的计算机访问该 IP 地址。
  • 你的tomcat网络服务在哪里?在同一台机器上?如果是,请使用环回地址 (127.0.0.1)

标签: asp.net-mvc web-services tomcat azure httpwebrequest


【解决方案1】:

HttpWebRequest 在服务器上执行,而 jQuery 请求在客户端本地执行。在您的问题的 cmets 中,我可以看到您正在尝试访问本地 IP 地址:192.168.50.205。这解释了为什么 jQuery 请求有效而 HttpWebRequest 无效:您可以从计算机访问该 IP 地址,因此本地 jQuery 请求有效,但您的服务器无法访问该 IP 地址,因此 HttpWebRequest 失败。

【讨论】:

  • 我在读的时候不明白为什么我没有自己弄清楚……这很合逻辑。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多