Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Интернет и сети
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 14.04.2008, 14:38
Аватар для Sharky
Sharky Sharky вне форума
Активный
 
Регистрация: 20.03.2007
Сообщения: 202
Репутация: 10
По умолчанию Скачать страницу

Добрый день уважаемые кодеры. Мне тут пришла в голову идея что если можно скачать файл зная его адрес то может можно и скачать страницу. Но вот только если ктото знает как скачать страницу с картинками и без них зная адрес страницы.
Ответить с цитированием
  #2  
Старый 14.04.2008, 17:20
Ozerich Ozerich вне форума
Новичок
 
Регистрация: 11.04.2008
Адрес: В городе-герой Минск
Сообщения: 69
Репутация: 10
По умолчанию

InternetOpen

Эта функция инициализирует WinInet и возвращает дескриптор, который необходим для вызова других функций WinInet. В случае неудачи возвращается NULL. Более подробную информацию об ошибке можно получить, вызвав функцию GetLastError, которая возвращает один из кодов, определённых в файле wininet.h. HINTERNET WINAPI InternetOpen(
LPCTSTR lpszAgent,
DWORD dwAccessType,
LPCTSTR lpszProxyName,
LPCTSTR lpszProxyBypass,
DWORD dwFlags
);
lpszAgent Задаёт имя приложения, которое используется как агент в HTTP протоколе. Сервер может определять агента с помощью переменной сервера HTTP_USER_AGENT. Если ваша программа собирается выдавать себя за MS Internet Explorer, передайте в этот параметр строчку "Mozilla/4.0 (compatible; MSIE 6.0b; Windows NT 5.0; .NET CLR 1.0.2914) "
dwAccessType Задаёт необходимый тип доступа (прямой или через прокси). Мы будем использовать значение INTERNET_OPEN_TYPE_PRECONFIG, которое устанавливает тип доступа в соответствии с установками в реестре.

InternetConnect

Эта функция открывает FTP, HTTP или Gopher сессию для заданного сайта. HINTERNET InternetConnect(
HINTERNET hInternet,
LPCTSTR lpszServerName,
INTERNET_PORT nServerPort,
LPCTSTR lpszUsername,
LPCTSTR lpszPassword,
DWORD dwService,
DWORD dwFlags,
DWORD_PTR dwContext
);
hInternet Дескриптор, полученный вызовом предыдущей функции.
lpszServerName Задаёт имя сервера. Это может быть обычное имя, например www.rsdn.ru, или адрес IP.
nServerPort Номер TCP/IP порта к которому мы собираемся подсоединиться. Мы будем использовать значене INTERNET_DEFAULT_HTTP_PORT для обычных соединений, либо INTERNET_DEFAULT_HTTPS_PORT для SSL соединений.
dwService Тип сервиса - FTP, HTTP или Gopher. Мы будем использовать INTERNET_SERVICE_HTTP.

HttpOpenRequest


HTTP запрос выполняется в несколько этапов: открытие запроса, определение HTTP заголовка, собственно отправка запроса, чтение и обработка данных. Эта функция, как следует из её названия, открывает HTTP запрос. HINTERNET HttpOpenRequest(
HINTERNET hConnect,
LPCTSTR lpszVerb,
LPCTSTR lpszObjectName,
LPCTSTR lpszVersion,
LPCTSTR lpszReferer,
LPCTSTR *lpszAcceptTypes,
DWORD dwFlags,
DWORD_PTR dwContext
);
hConnect Дескриптор сессии.
lpszVerb Задаёт имя команды запроса. Мы будем использавать методы "GET" и "POST".
lpszObjectName Имя целевого объекта. Это может быть просто HTML файл, скрипт или выполняемый модуль на сервере.
lpszReferer URL адрес предыдущей страницы. Чаще всего этот параметр игнорируется серверами, но если вдруг сервер перестанет подавать признаки жизни, попробуйте задать его, может помочь.
lpszAcceptTypes Определяет тип содержимого допускаемого клиентской стороной. Иногда MS IE передаёт сюда вот такую длинную строчку: "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/msword, application/vnd.ms-excel, application/vnd.ms-powerpoint, */*", иногда это просто "*/*".
dwFlags Комбинация интернет флагов. Например, при использовании SSL соединений мы будем указывать флаг INTERNET_FLAG_SECURE. Так же нам будет полезен флаг INTERNET_FLAG_KEEP_CONNECTION, который позволяет удерживать соединение с сервером между запросами. Это бывает полезно, если мы хотим, чтобы сервер не забыл о нас во время сессий требующих входа по паролю.

HttpSendRequest

Отсылает запрос на сервер. BOOL HttpSendRequest(
HINTERNET hRequest,
LPCTSTR lpszHeaders,
DWORD dwHeadersLength,
LPVOID lpOptional,
DWORD dwOptionalLength
);
hRequest Дескриптор, полученный вызовом предыдущей функции.
lpszHeaders
dwHeadersLength Позволяет добавлять дополнительные заголовки к запросу. Подробнее об HTTP заголовках можно узнать на http://www.w3.org/Protocols/.
lpOptional
dwOptionalLength Указатель на данные, которые будут посланы на сервер вместе с запросом. Используется в методах "POST" и "PUT".
Ответить с цитированием
  #3  
Старый 14.04.2008, 17:20
Ozerich Ozerich вне форума
Новичок
 
Регистрация: 11.04.2008
Адрес: В городе-герой Минск
Сообщения: 69
Репутация: 10
По умолчанию

InternetReadFile

Эта функция выполняет невероятно полезную работу, она позволяет читать данные результата запроса. BOOL InternetReadFile(
HINTERNET hFile,
LPVOID lpBuffer,
DWORD dwNumberOfBytesToRead,
LPDWORD lpdwNumberOfBytesRead
);
hFile Дескриптор сессии, полученный вызовом функции HttpOpenRequest.
lpBuffer
dwNumberOfBytesToRead Адрес и размер буфера, в который будут записаны данные.
lpdwNumberOfBytesRead Число прочитанных байт.

InternetCloseHandle


Эта функция закрывает любой из дескрипторов, созданных предыдущими функциями. BOOL InternetCloseHandle(
HINTERNET hInternet
);
hInternet Дескриптор, полученный вызовом функций InternetOpen, InternetConnect или HttpOpenRequest.
Ответить с цитированием
  #4  
Старый 14.04.2008, 17:21
Ozerich Ozerich вне форума
Новичок
 
Регистрация: 11.04.2008
Адрес: В городе-герой Минск
Сообщения: 69
Репутация: 10
По умолчанию

Есть исходник на С
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 03:09.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025