2009-12-24 2 views

ответ

13

Вы можете использовать WebClient:

using (var client = new WebClient()) 
{ 
    string content = client.DownloadString("http://www.google.com"); 
} 
6

Дарин ответила, но другой подход просто открыть поток:

FileStream s = new FileStream("http://www.someplace.com/somepage.html"); 

... а потом прочитать, как если бы это был обычный файл.

4

Если вы выполняете тяжелое программирование RESTful с помощью URL-адреса, вы можете посмотреть в HttpClient, доступный с помощью REST Starter Kit Preview 2. С этим вы могли бы сделать что-то вроде этого:

using (var client = new HttpClient()) 
{ 
    var page = client.Get("http://example.com").EnsureStatusIsSuccessful() 
        .Content.ReadAsString(); 
} 
0

Самый простой способ скачать его будет тем, что описал Дарин Димитров.

Если вы хотите, чтобы все ресурсы для веб-страницы, например. изображения, css.
Вам необходимо разобрать HTML-код DOM после его загрузки.
Лучший способ сделать это, кажется, с Html Agility Pack

1

Использование WebClient класса, а затем установить заголовок запроса, если на странице пауками блоков сайта.

using System; 
using System.Net; 
using System.IO; 

public class Test 
{ 
    public static void Main (string[] args) 
    { 
     if (args == null || args.Length == 0) 
     { 
      throw new ApplicationException ("Specify the URI of the resource to retrieve."); 
     } 
     WebClient client = new WebClient(); 

     // Add a user agent header in case the 
     // requested URI contains a query. 

     client.Headers.Add ("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)"); 

     Stream data = client.OpenRead (args[0]); 
     StreamReader reader = new StreamReader (data); 
     string s = reader.ReadToEnd(); 
     Console.WriteLine (s); 
     data.Close(); 
     reader.Close(); 
    } 
} 
Смежные вопросы