Я работаю над проектом, чтобы получить текст с этого сайта . Но когда я тестировал его в Visual Studio, у меня была какая-то ошибка:
Значение не может быть нулевым. Имя параметра: решениеDirectory
Вот мой код:
using System; using System.Net; public class Program { public static void Main() { WebClient client = new WebClient(); String temp = client.DownloadString("http://www.hkex.com.hk/eng/stat/dmstat/dayrpt/hsio180629.htm"); Console.Write(temp); } }
Пожалуйста, используйте HttpClient, который является очень хорошим вариантом Сравнить с webClient И ваша проблема в том, что ваш проект (vcxproj) не настроен должным образом.
Создайте новое приложение просто и запустите этот код.
Здесь вы найдете разницу на самом деле
Stream client = Task.Run(()=>new HttpClient().GetAsync("http://www.hkex.com.hk/eng/stat/dmstat/dayrpt/hsio180629.htm").Result.Content.ReadAsStreamAsync()).Result; using (var fileStream = new FileStream("D://data.txt", FileMode.Create, FileAccess.Write)) { client.CopyTo(fileStream); }
Полный рабочий код: -
namespace ConsoleApp2 { class Program { static void Main(string[] args) { Stream client = Task.Run(()=>new HttpClient().GetAsync("http://www.hkex.com.hk/eng/stat/dmstat/dayrpt/hsio180629.htm").Result.Content.ReadAsStreamAsync()).Result; using (var fileStream = new FileStream("D://data.txt", FileMode.Create, FileAccess.Write)) { client.CopyTo(fileStream); } } } }
С Await
namespace ConsoleApp2 { class Program { static void Main(string[] args) { data(); Console.ReadKey(); } public static async void data() { var client = await new HttpClient().GetAsync("http://www.hkex.com.hk/eng/stat/dmstat/dayrpt/hsio180629.htm"); var data= await client.Content.ReadAsStreamAsync(); using (var fileStream = new FileStream("D://data.txt", FileMode.Create, FileAccess.Write)) { data.CopyTo(fileStream); } } } }