![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Royan |
|
|||
|
Dreamer ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 14.9.2002 Где: Лондон Репутация: нет Всего: 15 |
Возможно вопрос весьма специфичен, но... Мне необходима документация по протоколу http, или, что лучше, какой-то ресурс, где бы можно почитать о том, как с ним работать через VC.
Может быть кто-то уже сталкивался с такой проблемой, и сможет рассказать с чего собственно начать. Если более конкретно, то мне бы надо, например, по введенному адресу, http://msdn.microsoft.com, получить весь текст, который содержит данная страничка. -------------------- Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь |
|||
|
||||
| Fantasist |
|
|||
|
Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: 4 Всего: 41 |
Ну это не сложно.
Устанавливаешь соедениение через сокет, на порт 80 к серверу microsoft.com. После установки сразу посылаешь строку: "GET / HTTP/1.1"+13+13 (два символа переноса строки обзательны) и в ответ получаешь страничку, главную. А вообще проще готовыми классами воспользоваться. -------------------- Волны гасят ветер... |
|||
|
||||
| dim |
|
|||
|
Unregistered |
Все может быть не совсем так просто если ност который указывается в URL - это namebased virtual host. Дело в том что такие хосты могут биндаться на один IP и тогда тебя просто прокинет не дефолтовый, что может оказаться не совсем то что надо. Поэтому если ты соединяешься напрямую через HTTP (через сокет), то еще надо указать заголовок Host, по которому web сервер определит куда тебя направлять дальше. Т.е. фрагмент должен выглядеть по крайней мере так:
GET / HTTP/1.1<CRLF> Host: domain.name<CRLF><CRLF> Но при использовании HTTP протокола напрямую тебя могут поджидать другие неприятности, такие, например, как проверка подлинности. Во избежание столкновения со всеми этими проблемами можно использовать WinIntet. |
|||
|
||||
| Royan |
|
|||
|
Dreamer ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 14.9.2002 Где: Лондон Репутация: нет Всего: 15 |
Народ, и дико благодарен за объяснения, но поймите меня правильно, я как бы этим не занимался и потому, если это не трудно наклипайте пожалуйста маленький примерчик, через какие именно методы это твориться. Что касатся http заголовков, то они мне до боли знакомы. Мне крайне важно понять каким-образом осуществляется передача гипертекстовых данных внутрь моего кода.
И тогда уж сразу такой момент, существует ли способ попадать именно на главную страницу сайта, если, например меня туда перебрасывает meta-refresh? Да, и если не секрет, то что такое WinIntet? На msdn'e такого не знают -------------------- Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь |
|||
|
||||
| Fantasist |
|
|||
|
Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: 4 Всего: 41 |
Ага, так вот там зачем Host. Будем знать. Хотя напрямую пытаться реализовать хттп действительно морока. Не даром де все уже готовое есть. -------------------- Волны гасят ветер... |
|||
|
||||
| Royan |
|
|||
|
Dreamer ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 14.9.2002 Где: Лондон Репутация: нет Всего: 15 |
да где ж они,готовые?
|
|||
|
||||
| Fantasist |
|
|||
|
Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: 4 Всего: 41 |
Незнаю.
Однако слышал не раз упоминались разные классы для работы с Http. В делфях их много есть и уже встроеные, так что если надо будет их в VC поиспользовать - сделаю dll и буду использовать. -------------------- Волны гасят ветер... |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: нет Всего: 207 |
Мало того, есть ещё их исходные коды, так что при особом желании можно разобраться как это реализовано. -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |