问题标签 [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.
c# - 问题 SSL 证书 C#
在我的 C# 应用程序中,我必须通过 https 调用 Web 服务并使用我已经拥有的 .crt 文件进行验证。这是满足此类需求的正确解决方案。一旦我得到一个可行的解决方案,我就更新了这篇文章,认为它可能会帮助像我这样的其他人。
解决方案: 下面的代码在整个应用程序执行中只需要执行一次。有了这个,我们设置了 ServerCertification 和 SSL 属性,当调用请求时将使用它们:
请求正常完成,就像我们没有实现 SSL 一样。这是一个发布请求代码:
特别感谢 Dipti Mehta,他的解释通过接受服务器证书帮助我在很大程度上实现了目标。她帮我解决了我的困惑。我终于找到了如何通过客户端使用 .crt 文件来验证服务器证书。
希望这可以帮助某人。
谢谢
httpwebrequest - 有没有办法改变 400/500 状态码的 HttpWebRequest 行为?
我正在努力在 .NET中的HttpWebRequest
/类型之上构建一个流畅的 REST 客户端界面。HttpWebResponse
到目前为止,一切都很好......但是我正在尝试开发一个可插入的安全框架,可以自动处理安全令牌协商、令牌刷新等。
HttpWebRequest/Response
由于遇到 400 系列或 500 系列 HTTP 状态代码时的工作性质,我遇到了问题。它们不是简单地设置.StatusCode
and.StatusDescription
属性并允许您以任何您希望的方式处理,而是抛出一个WebException
. 一般来说,这可能不是问题……但是我们进行身份验证的方式(OAuth 2.0 的衍生版本),我需要处理某些 400 系列错误而不会发生异常。
有没有办法将 HttpWebRequest/Response 重新配置为 NOT throw WebException
,并允许消费者确定他们自己的错误处理?我知道有一些迂回的方式来处理旧的 Http1.0 服务器的 Expect-100-Continue ......我很好奇是否有类似的迂回方式来禁用 WebExceptions。
(哦,简直无法抗拒......向我在 RedGate 的好朋友们大声疾呼,因为他们非法拿走了 Reflector 6 的许可绑定免费版本......我也许能弄清楚这个如果我可以窥探代码,就靠我自己……但是唉……遗憾的是,Reflector 是一个不可行的选择,因为它已经通过自溶消耗了自己。;P)
c# - System.Net.WebException:获取响应流时出错 (ReadDone2)
当我尝试将我的代码移植到单声道时,我遇到了以下错误。它在 Windows 中运行良好,甚至可以在 Linux 中编译。
当我使用 HttpWebRequest(按钮调用执行写入流的方法等)时,它会引发此错误。
代码是
PostData 类定义如下:
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”假设是最一致的。今晚我将尝试使用较大的超时值。
c# - Httpwebrequest 问题 (503)
我HttpWebrequest
用来从谷歌获取结果。我使用代理来获取数据。现在有一个奇怪的问题,对于某些查询它返回数据,而对于某些它抛出异常The remote server returned an error: (503) Server Unavailable.
。有人可能认为代理不好,但是当你把它放在 Internet Explorer 中然后你打开谷歌它就在那里。没有 503 错误然后httpwebrequest
。但是在某些查询上给出它。即如果你打算得到
它会在你去的地方抛出异常
有用。
到目前为止我的代码是
.net - 如何从 .net 中作为 WebException 捕获的 java servlet 引发的 403 错误中获取自定义消息?
我有一个 java servlet,当用户使用不正确的用户/密码进行身份验证时,它会引发自定义错误 403(禁止)。Java Servlet 代码:
在 .net 方面,我通过 WebException 捕获错误,但是当我询问 WebException 的内容时,我看不到 Login Error 自定义消息,除非我执行以下操作:
问题在于 respStr 是 HTML 字符串,然后我必须对其进行解析以获取“登录错误:密码错误!” 细绳。如果我只做一个 e.Message,我看到的只是“远程服务器返回错误:(403) Forbidden。”
有没有更简单的方法来获取自定义消息?
vb.net - 当状态不是 200 时,如何读取来自 Web 请求的响应?
当我收到 Web 异常时,我很难从 vb.net 中的 HTTP Web 请求中获取响应文本。
这是我正在使用的代码。
烦人的是,我联系的 API 使用 404 作为有效响应。如果我将请求放在浏览器中,将显示一些消息文本。我希望能够在我的程序中使用该文本。我不能简单地使用错误代码来确定操作,因为我认为我无法区分有效的 404 响应和实际错误。
在代码中这一行
抛出异常。
在异常中,我可以获得 404 代码和描述,但不能获得响应流。它始终为空。
如果我得到 200 响应,我会在响应流中得到文本没有问题。
在 Web 异常响应对象(在 Visual Studios 调试器中)中,我检查了标头和对象值,但在任何地方都找不到响应文本。如果我将请求 URL 粘贴在浏览器中,我会返回响应文本,即使它是 404。
提琴手的原始响应:
关于如何在我的程序中获得“响应消息”的任何想法?我必须在服务器上使用 .Net。
感谢任何人都可以提供的任何帮助。
c# - 获取 WebException 错误中的错误号
如何在 WebException 错误中获取错误号?
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?
c# - 如何在 Windows Phone 7 中设置 MaxBufferSize/MaxReceivedMessageSize?
我一直无法从我的 Windows Phone 7 应用程序中查询 Web 服务器的信息,根据我的研究,我将其追溯到 MaxBufferSize/MaxReceivedMessageSize 太低。问题是,我不知道如何改变它。我发现的每个搜索结果都在谈论该应用程序是 WCF 应用程序,并更改了ServiceReferences.ClientConfig中的绑定。这篇文章的解决方案给出了这个例子:
但是,我没有使用 WCF 应用程序,我不知道上面的等价物和ServiceReferences.ClientConfig用于常规 WP7 应用程序。谁能给我一些帮助?我已经尽我所能自己弄清楚了,但我一无所获。
作为参考,如果其他人遇到我遇到的问题(花了很长时间才弄清楚这可能是问题所在),这就是发生在我身上的事情:我收到带有消息的 WebException:“远程服务器返回错误:NotFound”抛出。堆栈跟踪的相关部分是: