Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.08.2010, 15:35   #1
Alex TGM
Пользователь
 
Регистрация: 25.04.2010
Сообщений: 10
По умолчанию Скачивание html страницы (Консольный C++)

Задача такая: необходимо скачать страницу по типу:
http://example.ru/forumdisplay.php?f...asc&sort=title
Все необходимые права у меня на страницу имеются.

Гуглил по поводу этой проблемы, но ничего путного, кроме кода для C++ Builder не нашел.

Надеюсь на вашу помощь!
Alex TGM вне форума Ответить с цитированием
Старый 13.08.2010, 15:42   #2
Vikenty
Заслуженный флудер
Участник клуба
 
Аватар для Vikenty
 
Регистрация: 31.03.2010
Сообщений: 1,473
По умолчанию

используй API
InternetOpen
InternetRead

Последний раз редактировалось Vikenty; 13.08.2010 в 15:55.
Vikenty вне форума Ответить с цитированием
Старый 13.08.2010, 16:27   #3
zotox
Форумчанин
 
Регистрация: 09.09.2008
Сообщений: 395
По умолчанию

Цитата:
Сообщение от Alex TGM Посмотреть сообщение
Задача такая: необходимо скачать страницу по типу:
http://example.ru/forumdisplay.php?f...asc&sort=title
Все необходимые права у меня на страницу имеются.

Гуглил по поводу этой проблемы, но ничего путного, кроме кода для C++ Builder не нашел.

Надеюсь на вашу помощь!
Код:
#include <stdio.h>
#include <winsock2.h> // хедер с описанием wsa ф-ий

// для ms vc++6.0 и др - подключаем lib'у с импортами wsa ф-ий
#pragma comment( lib, "wsock32.lib" )

int main(int argc, char* argv[])
{
char request[1024*5]; // буффер под запрос
char response[1024]; // буффер под ответ
sockaddr_in s_a;
WSADATA wd; // структура WSADATA

WSAStartup( MAKEWORD( 2, 2 ), &wd ); // инициализируем wsa

SOCKET s = socket( AF_INET, SOCK_STREAM, 0 ); // создаем сокет
if (s == INVALID_SOCKET) return 255; // если ошибка - выход

s_a.sin_addr.s_addr = inet_addr( "111.22.33.44" ); // айпи сервера
s_a.sin_port = htons( 80 ); // порт сервера
s_a.sin_family = AF_INET;

if (connect( s, (struct sockaddr*)&s_a, sizeof( s_a ) ) == SOCKET_ERROR) return 255; // SOCKET_ERROR - невозможно подключится к сереверу

char url[] = "/"; // страница
char host[] = "example.ru"; // хост
// формируем запрос
sprintf( request, "GET %s HTTP/1.1\r\nHost: %s\r\nConnection: Close\r\n\r\n", url, host );

send( s, request, strlen( request ), 0 ); // послать запрос
recv( s, response, 1023, 0 ); // максимум получить 1023 байта

printf( "%s\r\n", response ); // вывести ответ на экран

closesocket( s ); // закрываем сокет
WSACleanup(); // деинициализируем wsa

return 0;
}
zotox вне форума Ответить с цитированием
Старый 13.08.2010, 17:15   #4
Alex TGM
Пользователь
 
Регистрация: 25.04.2010
Сообщений: 10
По умолчанию

Мне надо страницу сохранить в файл находящийся в папке: Место где находится программа\Download
Alex TGM вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нарезка страницы html :) W0LF Общие вопросы Delphi 3 17.12.2009 16:21
Создание HTML страницы Игорек89 Помощь студентам 2 17.12.2009 15:54
Разметка страницы Html Новичок111111111 Помощь студентам 5 26.10.2009 18:18
Парсинг HTML страницы OkeaH Работа с сетью в Delphi 1 19.01.2009 09:17
Html страницы LineStown Работа с сетью в Delphi 3 11.04.2007 13:16