问题标签 [system.net.webexception]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
3910 浏览

rest - Powershell Web 请求 - 400 错误请求

我正在构建一个 powershell 脚本以在类似 REST 的服务器上执行命令,我正在使用 powershell 将 XML 数据发布到 web 服务。除非“应用程序”产生错误,否则一切正常。应用程序回复 xml 中的详细信息,并在我遇到问题时给我一个 Web 请求错误(在本例中为 400)。每当我收到不是 200 的 Web 请求错误时,命令都会抛出一个错误,这会搞砸我处理错误的方式。

这是我收到的响应示例(使用提琴手):

这是我在 powershell 中收到的错误:

我进一步研究了错误,这与检索响应的内容(XML)非常接近。

我以为我可以把它从这里拉出来。。

但它是空的:(

这是我正在使用的 powershell 代码:

这似乎不应该是一件难事,做任何帮助将不胜感激:)

理查德

0 投票
0 回答
304 浏览

.net-4.0 - 当项目从 .NET 3.5 升级到 4.0 时,VB.NET WinForm Web 连接停止工作

在过去的几个小时里,我有一个奇怪的问题让我在谷歌上搜索,但我还没有找到任何接近这个的东西。

我有一个 VB.NET Winforms 项目,其中包含一个为远程托管的图表 API 动态生成图像 URL 的类,并将 URL 作为源返回到 PictureBox ( pbCallChart.ImageLocation = MyURL)。多年来,这已经到位并且运行良好。但是,我最近不得不将项目从 .NET 3.5 升级到 .NET 4.0(我在 VS 2010 中使用 64 位版本,显然不允许您在 .NET 3.5 中进行主动调试)。一旦我这样做了,我的图像就不再出现了。

当我在我正在使用的同一台机器上的网络浏览器中提取 URL 时,我验证了该图像是否有效。起初我想也许这个属性在 4.0 中被删除了,所以我尝试切换到 Load() 函数。没有骰子。然后我更进一步,写了这个小函数:

当我运行它时(并且我已经确认传递它的 URL 无关紧要),我总是会收到错误消息:

我知道这不是代理问题,因为它在 .NET 3.5 下的同一台计算机上运行良好。而且我已经确认这不仅仅是一个调试怪癖,因为我编译了可执行文件并将它们提供给用户 - 他们确认 .NET 3.5 版本有效,而 .NET 4.0 版本无效。

我只能假设两个版本之间肯定存在一些我不知道的安全配置差异,但似乎有人会在某处提到它。有没有其他人经历过这样的事情?我几乎没有想法 - 你有吗?

0 投票
2 回答
11187 浏览

vb.net - System.Net.WebException:请求失败,HTTP 状态 401:未经授权

好的,所以我有这个 .NET 1.1 应用程序(由某人编写),它就像一个文档存储库,过去它运行良好。尝试搜索项目/文档时突然出现此错误:

页面:/CPDEPforIT/SearchResults.aspx

错误:

System.Net.WebException:请求失败,HTTP 状态为 401:未经授权。在 System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall) 在 System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) 在 CPDEPforIT.InktomiSearchService .soapSearchService.getSearchResults(SearchInput in0) 在 CPDEPforIT.SearchResults.GetDatasetForSearchQuery(SearchInput searchInput) 在 CPDEPforIT.SearchResults.Page_Load(Object sender, EventArgs e) 在 System.Web.UI.Control.OnLoad(EventArgs e) 在 System.Web。 UI.Control.LoadRecursive() 在 System.Web.UI.Page.ProcessRequestMain()

我不记得有任何变化。这可能是由应用程序外部的某些东西(IIS 配置/权限、服务器、数据库)引起的吗?

0 投票
0 回答
7526 浏览

c# - 远程服务器返回错误 503 服务器不可用

我有一个用 C# .Net 2.0 编写的客户端服务器应用程序。我已经让客户端/服务器响应/请求代码运行了 4 年(!)。最近在某台机器上,客户端连接不上服务器:

在代码行上:

WebException:远程服务器返回错误:(503)服务器不可用。
Message="远程服务器返回错误:(503) 服务器不可用。"
状态 System.Net.WebExceptionStatus.ProtocolError

我相信这个问题是特定于机器的,因为我在任何其他机器上都没有遇到过这个问题。

我需要在那台机器上配置什么吗?我错过了什么?

0 投票
1 回答
7469 浏览

c# - FtpWebRequest WebException:“无法连接到远程服务器”

我在 Windows 服务中有代码,当我通过测试工具在本地运行它时成功连接到 FTP 服务器(FTP 服务器位于本地网络上的另一台机器上)。

但是,当我在生产托管环境中安装它时,我得到了可怕的 WebException “无法连接到远程服务器”。ACTV无论我使用的是 FTP还是PASVFTP似乎都无关紧要,我都得到了这个 WebException。但是,如果我尝试从 Windows 命令行 FTP,它工作得非常好(所以不是防火墙有问题)。

我正在使用的代码(改编自How to List Directory Contents with FTP in C#?)内容如下:

异常在该行(语句之外)的FtpWebRequest.GetResponse()调用中引发,堆栈跟踪中没有其他内容:usingreturn

System.Net.WebException: 无法连接到远程服务器
   at System.Net.FtpWebRequest.GetResponse()
   (该文件中的行号)

我的测试工具(有效)和生产环境(无效)之间唯一真正的区别是生产环境中存在防火墙——所有四台服务器都位于稍微不同的子网上:

但防火墙不是问题,我可以交互地从 Prod 客户端 FTP 到 Prod 服务器,只是不能以编程方式。

我已经尝试更改boolappSettings 的值,UsePassive并且没有任何区别,并且在每种情况下,FTP 服务器日志中都没有显示任何内容(所以它没有走那么远)。

现在我不指望任何人能够调试我的托管环境的硬件基础设施,但我正在努力思考我可以改变什么来让它工作。我已经看到它在我的测试工具中本地工作,调用相同的方法。如果有帮助,测试工具代码如下所示:

请问有人知道我还能尝试什么吗?

谢谢!


更新

在评论中有一些可以查看的地方的建议后,我可以进一步更新一下:

  1. 问题似乎不是用户权限 - 该服务正在本地系统帐户的上下文中运行(该帐户比管理员拥有更多权限

  2. 问题似乎不是代码访问安全性。我已经为这段代码添加了对 entry 方法的调用:SocketPermission.Demand

    而且我没有看到任何SecurityException被抛出;在相同代码位置的新行号处,我仍然得到相同的 WebException。

有人对我可以尝试什么有任何进一步的建议吗?

0 投票
1 回答
1057 浏览

wcf - SignalR WebRequest 正在中止

我在 WCF Web 服务中有一个函数,负责在每次创建 Evento 条目时通过 SignalR 发送通知,它还会检查与 Evento 条目相关的集群在过去一小时内是否有三个或更多条目,如果是的话,然后发送另一个通知。

该函数如下所示:

我发送通知没有问题,但是在过去一小时内有 3 个或更多条目时会抛出异常。

这是我得到的异常输出:

我不明白为什么会抛出这个异常,即使我的服务的性能没有被篡改,我担心它可能会导致问题。我怎样才能摆脱这个问题?

0 投票
1 回答
1067 浏览

c# - How do I get the full request details from WebException? (GET|POST etc)

I have an asp.net web api project. In my controllers I have set up the

To catch any errors at a global level. There are two get requests being fired off from the controller method. They are failing and so I am seeing the exception being raised in the exception filter. However the exception is not showing me details of the failed request. Is it possible to get them? For example 4 GET requests might have been invoked and one of them is failing and the exception is being thrown. But all im seeing is a message saying...

The remote name could not be resolved: 'xx.xx.com'

But I need more details, like the query string etc...

The response object on the web exception is null too :-(

0 投票
1 回答
6746 浏览

.net - 如何使用自定义 WebResponse 创建 WebException

我使用 MVC4 Web API 创建了一个 RESTful Web 服务。如果出现问题,我将抛出 WebException。

这是处理异常的客户端代码:

如您所见,客户端代码正在显示 WebException 中包含的 HttpWebResponse。但是显示的是:

这不是我的错误消息:-(所以我想我会使用 Mircosoft MSDN WebException 4th Constructor指定的 WebException 的替代构造函数

在 MSDN 示例中,他们通过以下方式创建 WebResponse:

但是 .Net 框架中不存在 HttpConnect :-(。

有谁知道如何使用特定的 WebResponse 创建 WebException?谢谢,马特

0 投票
2 回答
369 浏览

c# - WebExcpetion 使用 WebRequest.BeginGetResponse

我有一个困扰我很久的问题。

我正在使用 Windows Phone 8 和 c#。

从网上下载文件时,我有时会收到此异常:

但后来我再次运行程序,它工作正常。不知道为什么有时候找不到远程服务器,真的是服务器的问题吗?它认为它在我的代码中,我使用这些函数:

我会很感激任何建议,因为这个异常不断弹出,我无法解决它。

0 投票
1 回答
1797 浏览

c# - 除非我重新启动计算机,否则 HttpWebRequest 每次都无法连接

我有一个需要连接到远程 SAP 服务器的 WPF C# 应用程序。我在两台计算机(同一网络)上运行该应用程序,并且我知道服务器是可访问的。

起初,计算机 A 可以使用 Web 请求正常连接(经过多次尝试,它们都可以正常工作)。随机(似乎;我无法复制),所有 Web 请求都将失败,并显示消息“无法连接到远程服务器”(类型 System.Net.WebException)。在浏览器中导航到 URL 加载正常;只有应用程序无法连接。引发异常的方法是 HttpWebRequest.GetRequestStream。

即使多次重启应用程序,所有 HttpWebRequests 仍然无法连接。我们有多个 SAP 服务器,尝试连接到其中任何一个都会得到相同的结果。同时,计算机B(我的开发机器)上的应用程序仍然可以毫无问题地连接到任何服务器。只有在完全重新启动计算机 A 后,它才能再次连接。

到目前为止,这已经发生在两台不同的计算机上。这两次,解决它的唯一方法是重新启动计算机。

这是一些代码:

编辑:忽略了响应部分:

Edit2:所以我注释掉了所有对 Close 的调用,并提出了几十个请求。我还删除了获取响应的代码并提出了更多请求。在这些测试中,我没有收到任何异常,并且一切正常。

除了这些结果,我可以理解这样的事情可能会破坏我的程序,但我不明白为什么在重新启动程序或尝试联系不同的远程服务器后它仍然会被破坏。看起来 .NET 框架中出现了一些问题,除非我重新启动整个机器,否则它无法自行解决。