Ошибка цикла, включая строки и переменные - PullRequest
0 голосов
/ 12 ноября 2018

Я получаю сообщение об ошибке, например, когда у меня есть строка, она говорит, что не может преобразовать 'byte []' в строку. И когда он у меня как var, он говорит то же самое, но выдает ошибку в данных рядом с Results.txt.

if (Lock.Contains("Mode: Data Grabber"))
{
    Console.WriteLine("Loading Data Grabber 2.0! Mode = Data Grabber!\n");
    Console.WriteLine("Enter the websites url!\n");
    Console.WriteLine("(\n) " + "(\n)");
    if (Option == Option)
    {
        WebClient wc = new WebClient();
        string data = wc.DownloadData(Option);
        Console.ForegroundColor = ConsoleColor.Green;
        Console.WriteLine("Downloading data from " + data);
        Thread.Sleep(3000);
        Console.WriteLine("\n");

        if (!File.Exists(Directory.GetCurrentDirectory() + @"/Results.txt"))
        {
            File.Create(Directory.GetCurrentDirectory() + @"/Results.txt");
        }

        File.WriteAllText(Directory.GetCurrentDirectory() + @"/Results.txt", data);
        Console.WriteLine("All data has been sent to the path");
    }
}

Ответы [ 3 ]

0 голосов
/ 12 ноября 2018

Вот, пожалуйста:

Заменить этот код string data = wc.DownloadData(Option); на System.Text.Encoding.UTF8.GetString(wc.DownloadData(Option))

Предпосылка состоит в том, что кодировка соответствующего текста - UTF-8.

Надеюсь, это будет полезно.

0 голосов
/ 12 ноября 2018

Вы должны использовать метод 'DownloadString' WebClient, чтобы получить строку:

string data = wc.DownloadString (Option);

Теперь содержимое будет представлять собой строку.

0 голосов
/ 12 ноября 2018

Вы пытаетесь написать string, когда у вас есть byte[], т.е. data

string data = wc.DownloadData(Option);

WebClient.DownloadData возвращает byte[]

public byte[] DownloadData (string address);

Попробуйте:

string data = wc.DownloadString (address);
...