记一次访问http数据接口的爬坑经历,一般访问一个http接口。

无非就是这么几行代码:

  

 HttpWebRequest request = (HttpWebRequest)WebRequest.Create("url");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();   
System.IO.StreamReader sr = new StreamReader(response.GetResponseStream(), System.Text.Encoding.GetEncoding("utf-8"));//设置响应编码,乱码的话
Console.Write(sr.ReadToEnd());
sr.Close();
response.Close();

可是这次,死话乱码。PostMan下正常的。。在浏览器中直接访问,设置编码为utf-8b也是可以正常显示的。。用c#后台代码测试了各种编码都以无效,告终。。

查看响应头:

Content-Encoding gzip。。。。刚开始被我略过了。。后来搜乱码google到了博客园的博问。

更新代码如下:

 HttpWebRequest request = (HttpWebRequest)WebRequest.Create("url");

            HttpWebResponse response = (HttpWebResponse)request.GetResponse();

           //先把响应流以gzip形式解码,然后再读取。结果success.......
Stream stm = new GZipStream(response.GetResponseStream(),CompressionMode.Decompress);       
System.IO.StreamReader sr = new StreamReader(stm, System.Text.Encoding.GetEncoding("utf-8"));
Console.Write(sr.ReadToEnd());
sr.Close();
response.Close();

c#访问http接口的"编码"问题的更多相关文章

  1. WebService---Android中访问WebService接口的方法

     最近公司有个项目需要从Android平台访问WebService接口,实现向发布的函数传递对象.在网上找了一些资料,发现使用ksoap2可以调用WebService传递对象.   需要引入ksoap ...

  2. ue4访问php接口

    继上一篇介绍ue4打开web url窗口,这篇就来介绍下怎么访问php接口. 要做的两步: 1.c++自己写个接受请求的方法 f Post lhc-URL Request就是自定义的c++方法, /* ...

  3. LR访问Https接口

    实操篇 第一步:需要跟开发或者运维要到要访问的https接口的证书(有关证书的问题我们在原理中有解释). 第二步:确定要来的证书的格式是否为pem格式的.首先,LR只能够识别pem格式的证书而且是DE ...

  4. 记一次sql server 2005访问http接口,并解析json的过程

    记一次sql server 2005访问http接口,并解析json的过程  JSON解析官方网站:https://www.red-gate.com/simple-talk/sql/t-sql-pro ...

  5. SoapUI SoapUI接口测试之编码设置

    SoapUI接口测试之编码设置 by:授客 QQ:1033553122 问题描述: 实际测试过程中发现,SoapUI提交后的数据,在数据库中查看数据值存储,发现是乱码,如下图: 查找原因,show c ...

  6. Spring Boot的数据访问:CrudRepository接口的使用

    示例 使用CrudRepository接口访问数据 创建一个新的Maven项目,命名为crudrepositorytest.按照Maven项目的规范,在src/main/下新建一个名为resource ...

  7. “全栈2019”Java第八十一章:外部类能否访问嵌套接口里的成员?

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  8. vue-cli 3.0 使用axios配置跨域访问豆瓣接口

    vue-cli 3.0 配置axios跨域访问豆瓣接口 自己做的小demo 由于豆瓣api跨域问题,因此不能直接通过ajax请求访问,我们通过vue-cli提供给我们的代理 进行配置即可, 在根目录下 ...

  9. 中文版Postman测试需要登陆才能访问的接口(基于Cookie)

    ApiPost堪称增强版的中文postman,是一个支持团队协作,并可直接生成文档的API调试.管理工具.它支持模拟POST.GET.PUT等常见请求,是后台接口开发者或前端.接口测试人员不可多得的工 ...

随机推荐

  1. An unknown error occurred & “”的 iPhone is busy: Processing symbol files

    An unknown error occurred & ""的 iPhone is busy: Processing symbol files An unknown err ...

  2. golang--gopher北京大会(2)(rework)

    三.七牛老许 qlang: github qiniu/qlang microservice architecture: http://martinfowler.com/articles/microse ...

  3. iis设置Gzip后,无后缀的url无法压缩解决 MVC iis GZIP

    <IIsCompressionScheme    Location ="/LM/W3SVC/Filters/Compression/gzip"        HcCompre ...

  4. Photoshop 使用曲线

    曲线表示的是图像的明度, 通过信息办的 HSB 信息可以看到调整曲线时整个图像明度的变化 曲线的左下角表示图片的暗部, 右下角表示图片的高光部 而曲线本身的纵坐标则表示这个部分的明度, 例如将曲线的左 ...

  5. python学习-异常处理

    小技巧 isinstance(obj,foo) 检查是否obj是否是类 foo 的对象 class Foo(object): pass obj = Foo() isinstance(obj, Foo) ...

  6. UIView.FRAMEWORK

    uiview .framework 有太多 属性到现在基本上没怎么接触,今天开始用到了就纪录一下,有空在去了解了: [self.view bringToFront:btn] 把btn 放到self.v ...

  7. [学习笔记] 七步从AngularJS菜鸟到专家(4和5):指令和表达式 [转]

    这一篇包含了"AngularJS - 七步从菜鸟到专家"系列的第四篇(指令)和第五篇(表达式). 之前的几篇展示了我们应用的核心组件,以及如何设置搭建一个Angular.js应用.在这一部分,我们会厘 ...

  8. KVC笔记

    利用KVC可以随意修改一个对象的属性或者成员变量(并且私有的也可以修改) 示例代码:  示例一: Person *p = [[Person alloc] init]; p.dog = [[Dog al ...

  9. sql like 查询

    查询 ids 含有 4  的  精确到4  54 不查询 select * from t_g_sku where ','||ids||',' like '%,4,%'; 序号 id mid quant ...

  10. C语言和Lua的交互

    //test.c #include <stdio.h> #include "lua.h" #include "lualib.h" #include ...