2015-07-02 32 views
0

我的代码是:如何提交的浏览器类型下载Web流时

string result = new WebClient().DownloadString("https://www.facebook.com/profile.php?id=123456789"); 

结果给我支持的浏览器。 体类= \“unsupportedBrowser

我打算这样做。 从Facebook下载源代码的特定页面

所遇问题: 我从Facebook的数据流,Facebook的阻止我,因为我从应用程序访问,由于这不是一个有效的浏览器

后市展望:。如何我可以提交浏览器类型,例如Chrome骗了Facebook,因为这是一个有效的浏览器

+0

制作刮刀是我们吗? – AlphaDelta

+0

什么是刮板? –

+0

[网络抓取](https://en.wikipedia.org/wiki/Web_scraping) – AlphaDelta

回答

0

您可以向webclient对象添加标题。不过,我更喜欢去HttpWebRequest/HttpWebResponse方法刮,因为我相信它提供了更多的选择。

Headers.Add("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); 
     Headers.Add("Accept-Encoding", "gzip, deflate"); 
     Headers.Add("Accept-Language", "en-US,en;q=0.5"); 
     Headers.Add("Cookie", "has_js=1"); 
     Headers.Add("DNT", "1"); 
     Headers.Add("Host", host); 
     Headers.Add("Referer", url); 
     Headers.Add("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:32.0) Gecko/20100101 Firefox/32.0"); 
+0

@。@你能给我举个例子吗,我太久没有碰过http web请求了,也许你可以提供第二个选项供人阅读和学习 –

+0

也请注意'Accept-Encoding:gzip,deflate '告诉服务器使用GZip压缩/压缩响应,一旦你得到响应,你需要对它进行膨胀/解压缩以获得实际响应。 – AlphaDelta

+0

我应该插入什么主机和引用值? –