gpt4 book ai didi

C# HttpWebRequest.GetResponse - StatusCode 用法是如何处理非异常响应与 webexception 响应的?

转载 作者:太空狗 更新时间:2023-10-29 22:55:59 26 4
gpt4 key购买 nike

有人可以帮助清除 HttpWebResponse 和 WebException 中“StatusCode”属性的用法吗?

例如,如果:

a) 没有异常(exception),那么 HttpWebResponse 将有一个 StatusCode,它可以有一些值来指示两者: - 成功(例如 OK、Accepted 等) - 失败(例如 UseProxy、RequestTimeout 等)

b) 有一个 WebExeption 抛出,它本身有一个响应对象,该对象也有一个 StatusCode(我假设它基于相同的 HttpStatusCode 枚举。

问题 1 - 在什么 StatusCode 将触发 WebException(并且您会在异常中获取详细信息)方面是否存在任何一致性,而哪些会毫无异常地返回,但您会在响应的 StatusCode 中找到结果对象?

问题 2 - 或者更具体地说,用于尝试处理 httpWebRequest.GetResponse 调用的伪代码(或 C# 代码本身)是什么,以便您想要区分用户的响应类别:

  • 代理设置/代理问题=> 所以可以告诉用户修复代理设置

  • 连接问题/网络服务器宕机=> 所以用户知道这一点

  • 服务器端错误(例如服务器存在但处理请求时出现问题 - 例如内容不存在)=> 这样用户就可以向网站管理员提出问题

  • 成功案例(我认为这不仅仅是 OK)=> na(成功案例)

谢谢

最佳答案

根据我的经验,响应状态代码仅返回 200 或 0。其他任何内容都来自 WebException,包括代理错误,如 407 或 417。

关于C# HttpWebRequest.GetResponse - StatusCode 用法是如何处理非异常响应与 webexception 响应的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2182544/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com