Joa*_*nge 78 .net c# string httpwebresponse
我看到很多例子,但是他们都慢慢地将它们一次读入字节数组或256个字符.为什么?
将结果Stream值转换为可以解析它的字符串是不可取的?
ada*_*ost 134
你可以用StreamReader.ReadToEnd(),
using (Stream stream = response.GetResponseStream())
{
StreamReader reader = new StreamReader(stream, Encoding.UTF8);
String responseString = reader.ReadToEnd();
}
Run Code Online (Sandbox Code Playgroud)
SLa*_*aks 58
您应该StreamReader在流周围创建一个,然后调用ReadToEnd.
你应该考虑打个电话WebClient.DownloadString.
正如@Heinzi所提到的,应该使用响应的字符集.
var encoding = response.CharacterSet == ""
? Encoding.UTF8
: Encoding.GetEncoding(response.CharacterSet);
using (var stream = response.GetResponseStream())
{
var reader = new StreamReader(stream, encoding);
var responseString = reader.ReadToEnd();
}
Run Code Online (Sandbox Code Playgroud)
小智 5
理查德·施耐德(Richard Schneider)是对的。使用下面的代码从不是utf8字符集的站点获取数据将得到错误的字符串。
using (Stream stream = response.GetResponseStream())
{
StreamReader reader = new StreamReader(stream, Encoding.UTF8);
String responseString = reader.ReadToEnd();
}
Run Code Online (Sandbox Code Playgroud)
“我不能投票。所以写了这个。
| 归档时间: |
|
| 查看次数: |
117528 次 |
| 最近记录: |