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

c# - 问题 SSL 证书 C#

在我的 C# 应用程序中,我必须通过 https 调用 Web 服务并使用我已经拥有的 .crt 文件进行验证。这是满足此类需求的正确解决方案。一旦我得到一个可行的解决方案,我就更新了这篇文章,认为它可能会帮助像我这样的其他人。

解决方案: 下面的代码在整个应用程序执行中只需要执行一次。有了这个,我们设置了 ServerCertification 和 SSL 属性,当调用请求时将使用它们:

请求正常完成,就像我们没有实现 SSL 一样。这是一个发布请求代码:

特别感谢 Dipti Mehta,他的解释通过接受服务器证书帮助我在很大程度上实现了目标。她帮我解决了我的困惑。我终于找到了如何通过客户端使用 .crt 文件来验证服务器证书。

希望这可以帮助某人。

谢谢

0 投票
1 回答
1886 浏览

httpwebrequest - 有没有办法改变 400/500 状态码的 HttpWebRequest 行为?

我正在努力在 .NET中的HttpWebRequest/类型之上构建一个流畅的 REST 客户端界面。HttpWebResponse到目前为止,一切都很好......但是我正在尝试开发一个可插入的安全框架,可以自动处理安全令牌协商、令牌刷新等。

HttpWebRequest/Response由于遇到 400 系列或 500 系列 HTTP 状态代码时的工作性质,我遇到了问题。它们不是简单地设置.StatusCodeand.StatusDescription属性并允许您以任何您希望的方式处理,而是抛出一个WebException. 一般来说,这可能不是问题……但是我们进行身份验证的方式(OAuth 2.0 的衍生版本),我需要处理某些 400 系列错误而不会发生异常。

有没有办法将 HttpWebRequest/Response 重新配置为 NOT throw WebException,并允许消费者确定他们自己的错误处理?我知道有一些迂回的方式来处理旧的 Http1.0 服务器的 Expect-100-Continue ......我很好奇是否有类似的迂回方式来禁用 WebExceptions。

(哦,简直无法抗拒......向我在 RedGate 的好朋友们大声疾呼,因为他们非法拿走了 Reflector 6 的许可绑定免费版本......我也许能弄清楚这个如果我可以窥探代码,就靠我自己……但是唉……遗憾的是,Reflector 是一个不可行的选择,因为它已经通过自溶消耗了自己。;P)

0 投票
0 回答
1826 浏览

c# - System.Net.WebException:获取响应流时出错 (ReadDone2)

当我尝试将我的代码移植到单声道时,我遇到了以下错误。它在 Windows 中运行良好,甚至可以在 Linux 中编译。

当我使用 HttpWebRequest(按钮调用执行写入流的方法等)时,它会引发此错误。

代码是

PostData 类定义如下:

0 投票
4 回答
35373 浏览

c# - 底层连接已关闭:接收时发生意外错误

我在这里是因为我在通过 ftp 协议下载一些文件时遇到问题。这很奇怪,因为它偶尔会发生,甚至是同一个文件。

只是一个精度:我正在下载非常大的文件(从 500 Mo 到 30Go)

以下是我的函数返回的异常类型:(抱歉是法语)

System.Net.WebException: La connexion sous-jacente a été fermée : Une erreur inattendue s'est produite lors de la réception. à System.Net.FtpWebRequest.CheckError() à System.Net.FtpWebRequest.SyncRequestCallback(Object obj) à System.IO.Stream.Close() à System.Net.ConnectionPool.Destroy(PooledStream pooledStream) à System.Net.ConnectionPool.PutConnection(PooledStream pooledStream, Object owningObject, Int32 creationTimeout, Boolean canReuse) à System.Net.FtpWebRequest.FinishRequestStage(RequestStage stage) à System.Net.FtpWebRequest.SyncRequestCallback(Object obj) à System.Net.CommandStream.Abort(Exception e) à System.Net.CommandStream.CheckContinuePipeline() à System.Net.FtpDataStream.System.Net.ICloseEx.CloseEx(CloseExState closeState) à System.Net.FtpDataStream.Dispose(Boolean disposing) à System.IO.Stream.Close() à UtilityClasses.FTP.Download(String srcDirectoryPath, String file, String destDirectoryPath)

这是用于下载的代码:

下载方法:

存在方法:

也许这是一个超时问题,但我真的不知道。我搜索了很长时间的答案,但没有成功。也许你们中的一些人会有一个解决方案。

///

编辑:一些进展:

我已经用 VS 在调试模式下测试了我的代码,实际上上面的异常是前一个异常的结果。(我不知道,因为我只写了日志文件中返回的最后一个异常)

这是原来的例外:

第二个异常是由这部分 Download 方法代码引起的:

我继续调查,但似乎“超时 pb”假设是最一致的。今晚我将尝试使用较大的超时值。

0 投票
3 回答
4513 浏览

c# - Httpwebrequest 问题 (503)

HttpWebrequest用来从谷歌获取结果。我使用代理来获取数据。现在有一个奇怪的问题,对于某些查询它返回数据,而对于某些它抛出异常The remote server returned an error: (503) Server Unavailable.。有人可能认为代理不好,但是当你把它放在 Internet Explorer 中然后你打开谷歌它就在那里。没有 503 错误然后httpwebrequest。但是在某些查询上给出它。即如果你打算得到

它会在你去的地方抛出异常

有用。

到目前为止我的代码是

0 投票
1 回答
7338 浏览

.net - 如何从 .net 中作为 WebException 捕获的 java servlet 引发的 403 错误中获取自定义消息?

我有一个 java servlet,当用户使用不正确的用户/密码进行身份验证时,它会引发自定义错误 403(禁止)。Java Servlet 代码:

在 .net 方面,我通过 WebException 捕获错误,但是当我询问 WebException 的内容时,我看不到 Login Error 自定义消息,除非我执行以下操作:

问题在于 respStr 是 HTML 字符串,然后我必须对其进行解析以获取“登录错误:密码错误!” 细绳。如果我只做一个 e.Message,我看到的只是“远程服务器返回错误:(403) Forbidden。”

有没有更简单的方法来获取自定义消息?

0 投票
2 回答
25702 浏览

vb.net - 当状态不是 200 时,如何读取来自 Web 请求的响应?

当我收到 Web 异常时,我很难从 vb.net 中的 HTTP Web 请求中获取响应文本。

这是我正在使用的代码。

烦人的是,我联系的 API 使用 404 作为有效响应。如果我将请求放在浏览器中,将显示一些消息文本。我希望能够在我的程序中使用该文本。我不能简单地使用错误代码来确定操作,因为我认为我无法区分有效的 404 响应和实际错误。

在代码中这一行

抛出异常。

在异常中,我可以获得 404 代码和描述,但不能获得响应流。它始终为空。

如果我得到 200 响应,我会在响应流中得到文本没有问题。

在 Web 异常响应对象(在 Visual Studios 调试器中)中,我检查了标头和对象值,但在任何地方都找不到响应文本。如果我将请求 URL 粘贴在浏览器中,我会返回响应文本,即使它是 404。

提琴手的原始响应:

关于如何在我的程序中获得“响应消息”的任何想法?我必须在服务器上使用 .Net。

感谢任何人都可以提供的任何帮助。

0 投票
4 回答
13086 浏览

c# - 获取 WebException 错误中的错误号

如何在 WebException 错误中获取错误号?

0 投票
0 回答
557 浏览

wcf - 在 WebClient.OpenWrite 上设置 Content-Type 标头会生成 WebException

我正在使用 WebClient.OpenWrite POST 到 .NET 4 中的 WCF HTTP Web 服务。如果我在 WebClient 标头上设置内容类型,那么当流关闭时,我会收到一个 WebException(400 - 错误请求)。

服务接口如下所示:

如果我将 Content-Type 标头设置为“application/xxx”,则 POST 可以正常工作。

有什么想法为什么我在 Content-Type 为“application/json”时得到 WebException?

0 投票
1 回答
2181 浏览

c# - 如何在 Windows Phone 7 中设置 MaxBufferSize/MaxReceivedMessageSize?

我一直无法从我的 Windows Phone 7 应用程序中查询 Web 服务器的信息,根据我的研究,我将其追溯到 MaxBufferSize/MaxReceivedMessageSize 太低。问题是,我不知道如何改变它。我发现的每个搜索结果都在谈论该应用程序是 WCF 应用程序,并更改了ServiceReferences.ClientConfig中的绑定。这篇文章的解决方案给出了这个例子:

但是,我没有使用 WCF 应用程序,我不知道上面的等价物和ServiceReferences.ClientConfig用于常规 WP7 应用程序。谁能给我一些帮助?我已经尽我所能自己弄清楚了,但我一无所获。

作为参考,如果其他人遇到我遇到的问题(花了很长时间才弄清楚这可能是问题所在),这就是发生在我身上的事情:我收到带有消息的 WebException:“远程服务器返回错误:NotFound”抛出。堆栈跟踪的相关部分是: