使用 C# 的 HttpWebRequest 请求接口如果接口返回了 401 则会抛出异常,而 401 其实也有可能返回正常的响应数据,如何获取异常时的响应流?

解决方案

捕获 WebException 异常,通过 ex.Response 获取 HttpWebResponse

主要代码如下:

private string Request(string url, string method, byte[] body, string contentType)
{HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);HttpWebResponse resp;try{resp = (HttpWebResponse)req.GetResponse();}catch (WebException ex){resp = (HttpWebResponse)ex.Response; //解析401等错误返回的有效信息}Stream stream = resp.GetResponseStream();using (StreamReader reader = new StreamReader(stream, Encoding.UTF8)){result = reader.ReadToEnd();}return result;
}

【转】C# HttpWebRequest 异常时获取 HttpWebResponse 数据相关推荐

  1. 将EXCEL根据经纬度发布成地图,并且在单击时获取点数据

    1.将EXCEL导入文件地理信息数据库 2.右击图层,点击添加数据,选择刚刚导入的数据,点击添加 3.右键添加的数据,点击显示XY数据,将X,Y字段与表格里的经纬度像对应上,选择坐标系,点击确定 4. ...

  2. ajax获取服务器端数据参数详解

    1.url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. 2.type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如 ...

  3. vue获取接口数据_c#中HttpWebRequest调用接口获取数据

    c#中HttpWebRequest调用接口获取数据PART  01-封装接口 将post请求进行封装,以便调用使用: /// /// 请求后台地址/// 请求参数/// public string P ...

  4. insert数据时,获取插入数据的id

    insert数据时,获取插入数据的id 当运行完插入语句后,执行select @@identity就可得到自动生成的id 如果是sql server 最好用select SCOPE_IDENTITY( ...

  5. el如何获取复选框的值_element ui 表格提交时获取所有选中的checkbox的数据

    设定此属性@selection-change="changeFun",意思是每次勾选的时候都会触发这个事件 //复选框状态改变 changeFun(val) { this.mult ...

  6. Vue 在beaforeCreate时获取data中的数据

    众所周知,vue在beforecreate时期是获取不到data中的 数据的 但是通过一些方法可以实现在beforecreate时获取到data中的数据 暂时想到两种放发可以实现,vue在before ...

  7. Bigdecimal 在从数据库获取数据后 和从前台获取的数据作比较时(值相等)

    1.做数值校验 ,Bigdecimal 在从数据库获取数据后 和从前台获取的数据作比较时(小数) 会出现 数据库取出的数据进度丢失 得到的结果是 false 解决方案 :先进行小数位保留 然后再作比较 ...

  8. 2021-12-11 vue移动端卖座电影项目(十一) comingSoon用后台获取的数据写样式,以及用vuex的Action处理异步问题:切换FilmHeader中的两个标签时直接缓存数据

    文章目录 0.vuex工作流程图复习 1.思路 2.axios获取后台数据(仿nowPlaying页即可) 3.用vuex的Action处理异步问题:切换FilmHeader中的"正在热映& ...

  9. python读取json数据格式问题_浅谈Python中的异常和JSON读写数据的实现

    异常可以防止出现一些不友好的信息返回给用户,有助于提升程序的可用性,在java中通过try ... catch ... finally来处理异常,在Python中通过try ... except .. ...

最新文章

  1. 计算机专业英语2008影印版第四章翻译,计算机专业英语2008影印版选择题的翻译加答案(14页)-原创力文档...
  2. 换掉VMware?轻量级虚拟机,横空出世!
  3. 高通8x12平台开机画面制作工具
  4. 【ACR2015】依那西普按需维持治疗策略有效抑制RA骨破坏进展
  5. leader:你的代码太烂了我根本看不懂
  6. docker-compose配置固定IP各种问题
  7. zabbix邮件脚本报警
  8. 三星Galaxy Fold入网:屏幕故障+数次跳票 热度还有多少?
  9. VMware虚拟机桥接方式与真实主机共享上网
  10. asp.net安全身份验证
  11. 应用程序框架实战四:你需要应用程序框架吗
  12. 论文查重的软件有哪些?
  13. 线段树进阶之lazy思想及Java实现
  14. Matlab实现滤波器,进行ASK、FSK、多音信号的滤波
  15. 统计函数耗费时间,简单的图像运算,定义感兴趣区域 第二章
  16. Python--初识庐山真面目
  17. python—生成带logo的二维码(零基础向)
  18. 华为中央软件院编译器与编程语言实验室人才招募
  19. 深度共情:让人际交往和沟通变得高效自在
  20. 防止私自接交换机_【交换机】交换机如何配置防止用户手动私设IP

热门文章

  1. 用示例说明BitMap索引的效率要优于B-Tree索引
  2. phpMyAdmin 配置
  3. 链表反转python
  4. 英语----情态动词(下)
  5. 数据访问......单条件查询与多条件查询
  6. [密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第3篇]影响计算能力和存储能力的因素
  7. java uipath_10.3 UiPath如何调用Java
  8. t检验的p值对照表_论文数据分析实战 | 如何对汇总数据进行t检验
  9. asp按时间自动递增编号_约束力最强的手铐——美国ASP钢性手铐
  10. 1644E. Expand the Path