WebClient DownloadString没有返回任何内容

时间:2013-10-24 22:05:53

标签: c# webclient downloadstring

我想从Pirate Bay的Search查询中获取源代码,我在我的代码中有这个,但它没有返回任何内容:

WebClient webpage = new WebClient();
string source=  webpage.DownloadString("http://thepiratebay.sx/search/documentary/0/99/0");

1 个答案:

答案 0 :(得分:10)

这是一个快速测试:

XAML:

<Label Content="{Binding ElementName=window_name, Path=SourceTest}"></Label>
<Label Content="{Binding ElementName=window_name, Path=SourceTest2}"></Label>

代码:

string source_url = "http://thepiratebay.sx/search/documentary";

WebClient webpage = new WebClient();
SourceTest = webpage.DownloadString(source_url);
if (SourceTest == "")
SourceTest = "stream was empty.";


source_url = "http://www.google.com";

webpage = new WebClient();
SourceTest2 = webpage.DownloadString(source_url);
if (SourceTest2 == "")
    SourceTest2 = "stream was empty.";

您的网址将返回一个空字符串,另一方面,Google将为您提供您正在寻找的来源。

修改: 正如我所假设的,您需要识别Web浏览器。这适用于您的查询:

string source_url = "http://thepiratebay.sx/search/documentary/0/99/0";

using (var webpage = new WebClient())
{
    webpage.Headers[HttpRequestHeader.UserAgent] = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.121 Safari/535.2";
    SourceTest = webpage.DownloadString(source_url);
}