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