Модераторы: feodorv
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Получение html-кода страницы 
:(
    Опции темы
Tensor146
Дата 27.2.2012, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Собственно, понятно из названия, что мне требуется)))
Мне нужно каким-то образом получить html-код страницы (например google.ru) и,скажем, записать его в txt файл.
Прошу помощи, так как сам в этом....ммм....мягко говоря, не шарю. На rdsn-е попытался покопаться, но ничего достаточно годного не нашел, точнее нашел один пример, но он выдает ошибку постоянно Оо.
Help. smile 

вот код, ругается на  "ofstream fnews("news.html",ios::out|ios::binary);"
Говорит: неопознанный идентификатор.
Код

#include "stdafx.h"

#include <windows.h>
#include <wininet.h>
#pragma comment(lib,"wininet")

#include <stdlib.h>
#include <iostream>
#include <Tlhelp32.h>
#include <fstream>

int main(int argc, char* argv[])
{
    bool ok = false;

    // инициализируем WinInet
    HINTERNET hInternet =
        ::InternetOpen(
            TEXT("WinInet Test"),
            INTERNET_OPEN_TYPE_PRECONFIG,
            NULL,NULL,
            0);

    if (hInternet != NULL) {
        // открываем HTTP сессию
        HINTERNET hConnect = 
            ::InternetConnect(
                hInternet,
                TEXT("www.rsdn.ru"),
                INTERNET_DEFAULT_HTTP_PORT,
                NULL,NULL,
                INTERNET_SERVICE_HTTP,
                0,
                1u);

        if (hConnect != NULL) {
            // открываем запрос
            HINTERNET hRequest = 
                ::HttpOpenRequest(
                    hConnect,
                    TEXT("GET"),
                    TEXT("news.asp"),
                    NULL,
                    NULL,
                    0,
                    INTERNET_FLAG_KEEP_CONNECTION,
                    1);

            if (hRequest != NULL) {
                // посылаем запрос
                BOOL bSend = ::HttpSendRequest(hRequest, NULL,0, NULL,0);
                if (bSend) {
                    // создаём выходной файл
                    ofstream fnews("news.html",ios::out|ios::binary);
                    if (fnews.is_open()) for (;;) {
                        // читаем данные
                        char  szData[1024];
                        DWORD dwBytesRead;
                        BOOL bRead = 
                            ::InternetReadFile(
                                hRequest,
                                szData,sizeof(szData)-1,
                                &dwBytesRead);

                        // выход из цикла при ошибке или завершении
                        if (bRead == FALSE  ||  dwBytesRead == 0)
                            break;

                        // сохраняем результат
                        szData[dwBytesRead] = 0;
                        fnews << szData;
                        
                        ok = true;
                    }
                }
                // закрываем запрос
                ::InternetCloseHandle(hRequest);
            }
            // закрываем сессию
            ::InternetCloseHandle(hConnect);
        }
        // закрываем WinInet
        ::InternetCloseHandle(hInternet);
    }

    // для полного счастья, запускаем считанную страничку
    if (ok)
        system("start news.html");

    return 0;
}


Полный список ошибок:
Код

1>c:*: error C2065: ofstream: необъявленный идентификатор
1>c:*: error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "fnews"
1>c:*: error C2653: ios: не является именем класса или пространства имен
1>c:*: error C2065: out: необъявленный идентификатор
1>c:*: error C2653: ios: не является именем класса или пространства имен
1>c:*: error C2065: binary: необъявленный идентификатор
1>c:*: error C3861: fnews: идентификатор не найден
1>c:*: error C2065: fnews: необъявленный идентификатор
1>c:*: error C2228: выражение слева от ".is_open" должно представлять класс, структуру или объединение
1>          тип: 'unknown-type'
1>c:*: error C2065: fnews: необъявленный идентификатор


Это сообщение отредактировал(а) Tensor146 - 27.2.2012, 14:30
PM MAIL   Вверх
feodorv
Дата 27.2.2012, 20:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2214
Регистрация: 30.7.2011

Репутация: 10
Всего: 45



Код

using namespace std;

???


--------------------
Напильник, велосипед, грабли и костыли - основные инструменты программиста...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Сети | Следующая тема »


 




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


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

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