singlepost

Как скачать веб-страничку на C#? << На главную или назад  

как html считать в переменную типа string или массив char??? лучше будет если это массив…
делаю так…:

public char[] a;

string url = "мой путь"; //введите любой путь, я свой удалил
StreamReader sr = File.OpenText(url);
string input = null;
int i=0;
while ((input = sr.ReadLine()) != null)
{
a[i] = Convert.ToChar(input);
}
sr.Close();

ниразу не приходилось считывать html файлы… как их правильно считать, выдаёт ошибку в месте
StreamReader sr = File.OpenText(url);
пишет "URI formats are not supported."

подскажите, кто что подскажет)))

11 ответов в теме “Как скачать веб-страничку на C#?”

  1. 11
    Максим Печерский ответил:

    Дмитрий Коковцев

    ммм) пасиб, теперь понял свою ошибку)

  2. 10
    Дмитрий Коковцев ответил:

    Надо сначала дождаться, пока webBrowser полностью получит страницу.

    // Функция-обработчик события
    private void getContent(object sender, WebBrowserDocumentCompletedEventArgs e)
    {
    textBox1.Text = url + ": " + ((WebBrowser)sender).DocumentText;
    }
    webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(getContent);

  3. 9
    Максим Печерский ответил:

    Кислица Алексей
    понятно пасиб)))

    Дмитрий Коковцев
    textBox1.Text = url + ": " + webBrowser1.DocumentText;
    чтот у меня webBrowser1.DocumentText ничего не передаёт(((

    всё же остался вопрос, а можно ли с Webrowser считать код в переменную?

  4. 8
    Егор Лупан ответил:

    я вот так делаю

    public string go(string str)
    {
    string a = "";

    HttpWebRequest myHttpWebRequest = (HttpWebRequest)HttpWebRequest.Create(str);

    myHttpWebRequest.Method = "POST";
    myHttpWebRequest.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";

    myHttpWebRequest.ContentType = "application/x-www-form-urlencoded";
    myHttpWebRequest.ContentLength = 0;
    myHttpWebRequest.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6 (.NET CLR 3.5.30729)";

    myHttpWebRequest.Headers["Cookie"] = this.cookie_;
    HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();

    StreamReader myStreamReader = new StreamReader(myHttpWebResponse.GetResponseStream(), Encoding.GetEncoding(1251));
    a = myStreamReader.ReadToEnd();
    return a;

    }

  5. 7
    Егор Лупан ответил:

    где strУРЛ

  6. 6
    Егор Лупан ответил:

    myHttpWebRequest.Headers["Cookie"] = this.cookie_; это можно опустить если куки не бросаешь… а так для контакта работает.. и тянет весь html поток

  7. 5
    Дмитрий Коковцев ответил:

    Если нужно только получить HTML-код страницы, то лучше использовать класс WebClient.
    А если через WebBrowser, тогда по событию OnDocumentComplete надо выполнить следующий код:
    textBox1.Text = url + ": " + webBrowser1.DocumentText;

  8. 4
    Максим Печерский ответил:

    Кислица Алексей

    делаю:
    url = "//mail.ru";
    webBrowser1.Navigate(url);
    textBox1.Text = url + webBrowser1.ToString();
    переменная textBox1.Text содержит текст
    //mail.ruSystem.Windows.Forms.WebBrowser

    не выходит(

  9. 3
    Егор Лупан ответил:

    toString()

  10. 2
    Максим Печерский ответил:

    пасиб, понял… а можно как-то читать содержимое переменной webBrowser в текстовую переменную???

  11. 1
    Дмитрий Коковцев ответил:

    using System.Net;

    WebClient wc = new WebClient();
    String page = wc.DownloadString("//yandex.ru/");

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.