如何获取返回的utf-8编码正文

橘子皮... 2015-09-02 02:35:49
sUrl = @"http://my.37.com/user/userinfo.php";
xmlhttp = new WinHttpRequest();
xmlhttp.SetTimeouts(30000, 30000, 30000, 30000);
xmlhttp.Open("GET", sUrl, true);
xmlhttp.SetRequestHeader("Accept", "image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/x-shockwave-flash, application/msword, application/vnd.ms-excel, application/vnd.ms-powerpoint, */*");
xmlhttp.SetRequestHeader("Accept-Language", "en-US");

如果用winhttp组件的话

StreamReader reader = new StreamReader(xmlhttp.ResponseStream, Encoding.GetEncoding("UTF-8"));
x = reader.ReadToEnd();

用上面的方法获取返回的网页源码,总是提示StreamReader 最匹配的重载方法具有一些无效参数
请问winhttp在c#里如何把ResponseStream或者ResponseBody 按UTF8格式转成string ???
...全文
155 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
第一个参数需要传入一个流,你看下xmlhttp.ResponseStream有没有继承Stream
  • 打赏
  • 举报
回复
引用 楼主 wowfiowow 的回复:
如果用winhttp组件的话 StreamReader reader = new StreamReader(xmlhttp.ResponseStream, Encoding.GetEncoding("UTF-8")); x = reader.ReadToEnd(); 用上面的方法获取返回的网页源码,总是提示StreamReader 最匹配的重载方法具有一些无效参数 请问winhttp在c#里如何把ResponseStream或者ResponseBody 按UTF8格式转成string ???
贴出你的 StreamReader 实例化的参数类型的定义,以及你的 xmlhttp.ResponseStream 的类型定义。 这是调试问题,就是简单的“类型不匹配”而已。
橘子皮... 2015-09-02
  • 打赏
  • 举报
回复
HttpWebRequest的用法我会,但是目前想用WinHttpRequest,就是不知道应该怎么写
Poopaye 2015-09-02
  • 打赏
  • 举报
回复
WinHttpRequest这是什么东西?C#就用HttpWebRequest

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧