Запрос на сайт и получение страницы с последующим ее сохранением

Тема в разделе "MS Visual C++", создана пользователем lesik_1971, 5 авг 2007.

  1. lesik_1971

    lesik_1971 Гость

    Уважаемые специалисты,

    в программе необходимо получить страницу с определенного сайта (адреса), чтобы затем ее сохранить для последующей обработки (необходимо ее пропарсить). Использую Visual Studio 2005, проект под CLR-Project

    Заранее благодарен за Ваши ответы.

    С уважением, Алексей
     
  2. NikSoft

    NikSoft Гость

    Для: lesik_1971
    Можно использовать HttpWebRequest класс
    http://msdn2.microsoft.com/en-us/library/s...webrequest.aspx

    Вот пример на С#(можно адаптировать для C++)

    Код (Text):
       
    public class InternetAffair
    {
    CookieContainer _requestCookieContainer = new CookieContainer();

    #region Properties
    public CookieContainer RequestCookieContainer
    {
    get { return _requestCookieContainer; }
    }

    #endregion

    #region Methods

    public string getHTML(string requestURI)
    {
    HttpWebResponse httpWebResponse = null;
    string       response = "";

    try
    {
    HttpWebRequest httpWebRequest  = (HttpWebRequest)WebRequest.Create(requestURI);
    httpWebRequest.Timeout       = Constants.HttpWebRequestMinTimeOut;
    httpWebRequest.UserAgent        = Constants.UserAgent;
    httpWebRequest.Referer       = Constants.Referer;
    httpWebRequest.CookieContainer = RequestCookieContainer;

    httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();

    if (httpWebResponse.StatusCode != HttpStatusCode.OK)
    {
    httpWebResponse.Close(); // Releases the resources of the response.
    ColorConsole.WriteLine(ConsoleColor.White, String.Format("\nWebException\ngetHTML() resp.StatusCode: {0}", httpWebResponse.StatusCode.ToString()));
    }
    else
    {
    StreamReader receiveStream = new StreamReader(httpWebResponse.GetResponseStream());
    response = receiveStream.ReadToEnd();
    receiveStream.Close();
    }
    }
    catch (System.Net.WebException we)
    {
    ColorConsole.WriteLine(ConsoleColor.White, String.Format("\nWebException\ngetHTML() function: {0}\nMessage: {1}", requestURI, we.Message));
    response = Constants.ErrorPage;
    }
    finally
    {
    if (httpWebResponse != null)httpWebResponse.Close();
    }

    return response;
    }
    #endregion
    }
     
  3. lesik_1971

    lesik_1971 Гость

    Большое спасибо за ответ. Буду копать в этом направлении.
     
  4. NikSoft

    NikSoft Гость

    Для: lesik_1971
    Пожалуйста. Есть вопросы - задавай.
     
  5. progstone

    progstone Гость

    пропарсли страницу на теги но не знаю что делать с JScript JavaScript VBScript писать самому заново долго подскажите где можно найти source?
     
Загрузка...

Поделиться этой страницей