Відповіді:
Ви можете завантажити файли з класом WebClient :
using System.Net;
using (WebClient client = new WebClient ()) // WebClient class inherits IDisposable
{
client.DownloadFile("http://yoursite.com/page.html", @"C:\localfile.html");
// Or you can get the file content without saving it
string htmlCode = client.DownloadString("http://yoursite.com/page.html");
}
в основному:
using System.Net;
using System.Net.Http; // in LINQPad, also add a reference to System.Net.Http.dll
WebRequest req = HttpWebRequest.Create("http://google.com");
req.Method = "GET";
string source;
using (StreamReader reader = new StreamReader(req.GetResponse().GetResponseStream()))
{
source = reader.ReadToEnd();
}
Console.WriteLine(source);
Найновіша, найновіша, найсвіжіша відповідь
Ця публікація справді стара (це 7 років, коли я відповів на неї), тому ніхто з інших відповідей не використовував новий та рекомендований спосіб, який є HttpClientкласом.
HttpClientвважається новим API і він повинен замінити старі ( WebClientі WebRequest)
string url = "page url";
HttpClient client = new HttpClient();
using (HttpResponseMessage response = client.GetAsync(url).Result)
{
using (HttpContent content = response.Content)
{
string result = content.ReadAsStringAsync().Result;
}
}
для отримання додаткової інформації про використання HttpClientкласу (особливо у випадках асинхронізації), ви можете звернутися до цього питання
Ви можете отримати його за допомогою:
var html = new System.Net.WebClient().DownloadString(siteUrl)
DisposeWebClient
@cms шлях - це більш свіжий, запропонований на веб-сайті MS, але у мене виникли важкі проблеми, щоб вирішити обидва способи, розміщені тут, тепер я публікую рішення для всіх!
проблема:
якщо ви використовуєте такий URL-адресу: www.somesite.it/?p=1500у деяких випадках ви отримуєте внутрішню помилку сервера (500), хоча у веб-браузері це www.somesite.it/?p=1500прекрасно працює.
рішення: вам потрібно перемістити параметри, робочим кодом є:
using System.Net;
//...
using (WebClient client = new WebClient ())
{
client.QueryString.Add("p", "1500"); //add parameters
string htmlCode = client.DownloadString("www.somesite.it");
//...
}