Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> HTML-текст по URL, нужна функция 
:(
    Опции темы
rax
Дата 24.8.2004, 05:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 4.6.2004
Где: Егорьевск

Репутация: нет
Всего: 1



Нужно реализовать (на VC++.NET) что-то типа поискового робота, есть ли какая-нибудь функция для получения html кода по url и какие для этого нужны библиотеки и заголовочные файлы?
smile.gif
PM MAIL WWW ICQ AOL YIM MSN   Вверх
Kurt
Дата 24.8.2004, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Увлеченный
***


Профиль
Группа: Участник Клуба
Сообщений: 1662
Регистрация: 22.8.2003
Где: Краснодар

Репутация: 20
Всего: 36



Я так понял, тебе нужно получить ответ сервера? html код?
Юзай HttpWebRequest. Вот пример.

VC++.NET
Код
int main() {
  try {

     // Create a new HttpWebRequest Object*.Make sure that
     // a default proxy is set if you are behind a fure wall.
     HttpWebRequest* myHttpWebRequest1 =
        dynamic_cast<HttpWebRequest*>(WebRequest::Create(S"http://www.contoso.com"));

     myHttpWebRequest1->KeepAlive=false;
     // Assign the response Object* of HttpWebRequest to a HttpWebResponse variable.
     HttpWebResponse* myHttpWebResponse1 =
        dynamic_cast<HttpWebResponse*>(myHttpWebRequest1->GetResponse());

     Console::WriteLine(S"\nThe HTTP request Headers for the first request are: \n {0}",
        myHttpWebRequest1->Headers);
     Console::WriteLine(S"Press Enter Key to Continue..........");
     Console::Read();

     Stream* streamResponse = myHttpWebResponse1->GetResponseStream();
     StreamReader* streamRead = new StreamReader(streamResponse);
     Char readBuff[] = new Char[256];
     int count = streamRead->Read(readBuff, 0, 256);
     Console::WriteLine(S"The contents of the Html page are.......\n");
     while (count > 0) {
        String* outputData = new String(readBuff, 0, count);
        Console::Write(outputData);
        count = streamRead->Read(readBuff, 0, 256);
     }
     Console::WriteLine();
     // Close the Stream Object*.
     streamResponse->Close();
     streamRead->Close();
     // Release the resources held by response Object*.
     myHttpWebResponse1->Close();
     // Create a new HttpWebRequest Object* for the specified Uri.
     HttpWebRequest* myHttpWebRequest2 =
        dynamic_cast<HttpWebRequest*>(WebRequest::Create(S"http://www.contoso.com"));
     myHttpWebRequest2->Connection=S"Close";
     // Assign the response Object* of 'HttpWebRequest' to a 'HttpWebResponse' variable.
     HttpWebResponse* myHttpWebResponse2 =
        dynamic_cast<HttpWebResponse*>(myHttpWebRequest2->GetResponse());
     // Release the resources held by response Object*.
     myHttpWebResponse2->Close();
     Console::WriteLine(S"\nThe Http RequestHeaders are \n {0}",
        myHttpWebRequest2->Headers);
     Console::WriteLine(S"\nPress 'Enter' Key to Continue.........");
     Console::Read();
  } catch (ArgumentException* e) {
     Console::WriteLine(S"\nThe second HttpWebRequest Object* has raised an Argument Exception as 'Connection' Property is set to 'Close'");
     Console::WriteLine(S"\n {0}", e->Message);
  } catch (WebException* e) {
     Console::WriteLine(S"WebException raised!");
     Console::WriteLine(S"\n {0}", e->Message);
     Console::WriteLine(S"\n {0}", __box( e->Status));
  } catch (Exception* e) {
     Console::WriteLine(S"Exception raised!");
     Console::WriteLine(S"Source : {0} " , e->Source);
     Console::WriteLine(S"Message : {0} " , e->Message);
  }
}


P.S. Для примера потребуются неймспейсы System (smile.gif), System.IO, System.Net, System.Text.
Удачи!



--------------------
Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед)
...
Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн)
PM ICQ   Вверх
rax
Дата 25.8.2004, 21:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 4.6.2004
Где: Егорьевск

Репутация: нет
Всего: 1



Вот спасибо, терерь буду разбираться biggrin.gif
PM MAIL WWW ICQ AOL YIM MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0479 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.