问题标签 [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 投票
2 回答
1574 浏览

asp.net - 无法在 ASP.NET 中使用 WebClient 下载图像

在其中一个移动站点中,我创建了一个网页,其中我使用 webclient 从主站点(移动主站点)下载图像并使用位图调整大小,并将图像获取到移动站点,图像路径为主站点工作正常,但是当我使用 WebClient 下载图像以调整大小时,出现以下错误:

任何人都可以建议任何解决此问题的方法我尝试使用以下命令 ping 上述 IP(209.59.186.108):

它返回以下结果:

仍然无法使用 WebClient 连接和下载图像...

** * ** * ** * ** * *更新的代码片段* ** * ** * ** * ** * ** *

0 投票
2 回答
535 浏览

c# - Xml 响应文件:在浏览器中接收,而不是通过 C#

我正在尝试通过 C# 访问 last.fm API。作为第一个测试,如果这很重要,我会询问类似的艺术家。

当我传递正确的艺术家姓名(即“Nirvana”)时,我会收到 XML 响应。我的问题是当我提供无效名称(即“Nirvana23”)时,我没有收到 XML,而是收到错误代码(403 或 400)和WebException.

有趣的事情:如果我在浏览器中输入 URL(用 Firefox 和 Chrome 测试),我会收到我想要的 XML 文件(包含 lastfm 特定的错误消息)。

我都试过XmlReaderXDocument

HttpWebRequest

URL 类似于“ http://ws.audioscrobbler.com/2.0/?method=artist.getsimilar&artist=Nirvana23 ”(以及 lastfm 给出的特定键,但即使没有它 - 它应该返回 XML)。尝试一下的链接:链接(这是我无法通过 C# 访问的错误文件)。

我也尝试过(没有成功):在 WireShark 的帮助下比较浏览器和我的程序的请求。然后我在请求中添加了一些标头,但这也无济于事。

0 投票
1 回答
6132 浏览

web-services - 接收错误 您尝试保存或检索的文件已被服务器管理员阻止访问此网站。0x800401e6

构建和部署后,从中央管理检查解决方案管理,它是一个简单的 Web 服务方法,它只在尝试检索 wsdl 时创建一个包含几列的文档库列表,甚至只是从地址调用 WS,因为它一个无效的方法我收到一些错误:

当从另一个已经部署的 Web 服务项目调用时,相同的方法运行良好,因此代码没有任何问题。我很可能做错了什么,但无法弄清楚。该系统运行在带有sharepoint 2010、framework 3.5 和“ANY”cpu 模式的win server 2008 上。谢谢你!

[编辑]现在通过从中央管理中的阻止文件列表中删除 asmx 扩​​展来摆脱以前的错误,而不是我收到 404 错误:

0 投票
1 回答
451 浏览

c# - 当响应服务器不发回任何 HTTP 标头时,如何使用 C# 接收 HTTP?

我正在尝试从小型嵌入式中文设备接收 HTTP 内容。设备的内置 Web 服务器接受标头,但不会在响应中返回任何标头。

IE

原始响应:(2 行,1 是 XML,第二是空白 \n)

<?xml version="1.0" encoding="utf-8"?><document><userkey>key</userkey> <machinemode>1</machinemode><serial>0000</serial><unitname>Device</unitname><version>1</version></document>\n

Fiddler 根本不会显示响应。使用HttpWebRequestandWebClient不会产生任何结果,因为响应中没有标头,这会导致异常。我所做的一些研究指向将其添加useUnsafeHeaderParsing到应用程序配置中(和/或以编程方式设置它)。这根本不起作用。我仍然收到

System.Net.WebException was unhandled Message=The server committed a protocol violation. Section=ResponseStatusLine Source=System StackTrace: at System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request)

有解决办法吗?在不使用 Sockets/TCPClient 的情况下,是否有另一种从不提供标头的服务器接收数据的方法?

0 投票
4 回答
90175 浏览

c# - WebException 如何通过正文获得整个响应?

在 WebException 中,我看不到 GetResponse 的正文。这是我在 C# 中的代码:

我看到标题,但我没有看到正文。这是 Wireshark 针对请求的输出:

是否有可能以某种方式在 WebException 中看到消息文本?谢谢你。

0 投票
2 回答
1556 浏览

c# - HttpWebRequest 不会抛出异常

我对 httpwebrequest 异常有疑问。我使用以下代码发出请求并捕获异常。

在公司网络中,当我输入一个不存在的网址(例如 www.oiuahsdupiasduiuhid.com)时;它抛出 webexception 。我得到状态码:未找到或服务不可用。但是,如果我在家里尝试,它不会抛出任何异常。它等待大约 1 秒,然后没有任何错误停止工作。我删除了所有异常以查看发生了什么,但问题是它没有显示任何错误。您对问题所在有任何想法吗?

或任何建议,我该如何用不同的方式处理这个问题?

0 投票
0 回答
100 浏览

c# - 通过 WebRequest 获取 RssFedd 会引发 WebException

我使用一个简单的调用来获取 RssFeed。但是每次我调用请求时,它都会抛出一个WebException“远程服务器没有回答”。但如果我用 IE/Chrome/Firefox 试试,我得到了答案。

因此,我尝试仅使用此功能启动一个最小的控制台项目:

这些最小项目有效,所以问题出在我的项目设置中,但是我的主项目怎么了?

0 投票
0 回答
791 浏览

c# - 未捕获 HttpWebRequest.GetRequestStream 引发的 System.Net.WebException

我正在创建一个简单的(控制台)应用程序来使用带有 C# 的 HTTP 请求来远程控制视频设备(编码器)。我需要向设备发送 XML 数据,设备通过发送 XML 数据进行响应。

我用来执行此请求的代码如下: http: //pastebin.com/59CXR3m9

当我尝试测试此代码时,会创建请求并写入流。我可以按预期看到"stream created"标志,但是,没有任何反应。即使我使用特定的低超时(例如 5 秒),应用程序似乎也卡住了。

为了解决这个问题,我激活了System.Net跟踪记录。我发现 a WebExceptionis throwed by GetRequestStream,但出于一个原因,我的代码中没有捕获到这个异常。try/catch这是一个例外:

System.Net Error: 0 : [1344] Exception in the HttpWebRequest#44223604:: - The underlying connection was closed: The connection was closed unexpectedly.

我可以按需发送完整的跟踪。

我还对调用堆栈进行了另一次跟踪,显示异常是由以下原因引发的GetRequestStream: http: //pastebin.com/vE5QZGBe

我用另一台设备测试了这段代码,它运行良好,所以这与设备相关,但我看不出有什么理由不会捕获该异常。由于这可能是生产环境,代码必须能够正确处理(而不是无休止地等待响应)。

有人已经有这种行为了吗?任何建议都非常感谢:)

谢谢!

仅供参考:如果有帮助,我也有成功请求的痕迹

0 投票
2 回答
11994 浏览

c# - 在 C# 中处理 HttpPostedFile

我有一个 C#.net Web 应用程序,可以(通过 POST 方法)将文件发送到另一个应用程序。在第二个应用程序中,我有以下代码来检索发布的文件。

现在我可以通过代码保存文件

但是我需要再次将其发送到另一个应用程序而不将其保存在此处(不保存在第二个应用程序中,我需要将其发送到第三个应用程序)。

(现在我可以做的是将文件保存在第二个应用程序中,然后通过提供与我在第一个应用程序中所做的路径完全相同的路径将其发布到第三个应用程序。但我需要另一个解决方案。)

我试过 hpf.fileName 但它只给出文件名(例如:test.txt)。当我尝试如下

发生 WebException,如“WebClient 请求期间发生异常”。

在 C# .net 中有什么方法可以做到吗?

0 投票
1 回答
5333 浏览

asp.net - 由于意外的数据包格式,WebRequest 握手失败

我有许多 ASP.NET 网站和一个 Web 服务,它们使用相同的代码“登录”到第三方网站。这基本上包括使用 WebRequest 使用我的凭据对网站的登录页面进行 HTTP POST,将生成的 cookie 存储在 CookieContainer 中,并在任何后续 WebRequest 中使用该 CookieContainer 来授权我的网站访问第三方网站上的页面。

代码基本上如下:

这段代码已经工作了很长时间(几个月,半年多)。从这个周末开始,它开始经常失败(我估计有 90% 的时间,但不是 100% 的时间)。我一直看到的错误是:System.Net.WebException:底层连接已关闭:发送时发生意外错误。---> System.IO.IOException: 由于意外的数据包格式,握手失败。 堆栈跟踪如下:

当我用谷歌搜索这个错误时,我一直看到的唯一解决方案是禁用 WebRequest 的 KeepAlive 属性和/或将 ProtocolVersion 设置为 HttpVersion10。我尝试了两者(在所有可能的组合中)并且没有任何帮助。

错误并不总是出现,但当它出现时,我可以继续尝试所有我喜欢的,我会一次又一次地收到错误。如果我将它放置几分钟再试一次,我有机会它会工作(一旦成功,它会继续工作一段时间)。

奇怪的是,我没有改变任何东西。这段代码已经运行了几个月没有问题。第三方网站完全有可能最终改变了一些东西,和/或我的虚拟主机提供商改变了一些东西。但以防万一我能做点什么来解决这个问题,我想问问我是不是做错了什么。

我可以联系第三方网站(可能不会得到回复)或我的虚拟主机,但我需要更好地了解到底出了什么问题,因为只是把这个错误扔给他们可能对他们没有帮助。

那么,有什么我可以做的吗,或者我是否有充分的理由突然在我的所有网站上看到这个错误(它们都连接到同一个第三方网站)?

谢谢