相关疑难解决方法(0)

WebClient.DownloadString()返回具有特殊字符的字符串

我有一些问题,我们正在从网上下载我正在构建的屏幕抓取工具.

在下面的代码中,从Web客户端下载字符串方法返回的字符串为少数(不是所有)网站的源下载返回一些奇怪的字符.

我最近添加了http标头,如下所示.以前调用相同的代码而没有标题达到相同的效果.我没有尝试过'Accept-Charset'标题的变体,除了基础知识之外,我对文本编码知之甚少.

我引用的字符或字符序列是:

"  "

" Â "

在Web浏览器中使用"查看源"时,看不到这些字符.可能导致这种情况的原因是什么?如何纠正这个问题?

string urlData = String.Empty;
WebClient wc = new WebClient();

// Add headers to impersonate a web browser. Some web sites 
// will not respond correctly without these headers
wc.Headers.Add("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-GB; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12");
wc.Headers.Add("Accept", "*/*");
wc.Headers.Add("Accept-Language", "en-gb,en;q=0.5");
wc.Headers.Add("Accept-Charset", "ISO-8859-1,utf-8;q=0.7,*;q=0.7");

urlData = wc.DownloadString(uri);
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net character-encoding special-characters

62
推荐指数
3
解决办法
6万
查看次数

HEAD与WebClient?

我将假设答案是否定的....有没有办法使用WebClient发送HEAD方法并将标题作为字符串或类似的东西返回?

.net webclient http head

25
推荐指数
2
解决办法
8421
查看次数