Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.12.13;
Скачать: [xml.tar.bz2];

Вниз

Имитация WEB сервера   Найти похожие ветки 

 
Евгений Р.   (2009-10-27 21:59) [0]

Необходимо, чтобы программа отвечала на Http запрос Get, поступающий из интернета. Решил пойти по простому (на мой взгляд пути). Установил сервер сокетов. Получаю запрос GET(Post) от другой программы, построенной на TnmHttp. Запросы понятны, легко анализируются.
Для написания блока, дающего ответ на запрос Get решил исследовать ответ сайтов на запрос Get:
Если я через компонент TnmHttp посылаю запрос Get к сайту, то в ответ получаю html код страницы сайта. Но когда я точно такой же запрос посылаю к сайту через сокет и прослушиваю сокетом ответ сайта, то получаю иной результат: html код с сообщением от владельца хостинга.
Как сайт отличает одинаковые запросы, идущие через TnmHttp и сокет?


 
McSimm ©   (2009-10-27 22:03) [1]

Запросы разные


 
Евгений Р.   (2009-10-27 22:25) [2]

Запросы текстовые.
Думаю, что TnmHttp работает через такой же сокет.

Текст, передаваемый TnmHttp сохраняю в файл. Затем из этого буфера передаю через сокет. Разницы не может быть.


 
McSimm ©   (2009-10-27 23:30) [3]


> Разницы не может быть.

А она есть :)

Запросы могут отличаться протоколом, адресом IP, URL, портом, заголовками, телом.
Если реакция сервера разная, значит где-то есть отличия.

Дальше только гадать остается.


 
Медвежонок Пятачок ©   (2009-10-27 23:30) [4]

Разницы не может быть.

Ну тогда тебе остается уверовать в то, что байты, испускаемые TnmHttp имеют другой цвет нежели не у TnmHttp.

Иначе как же "сайт узнает" что одинаковые запросы на самом деле разные?
Может про запаху?


 
***mikle***   (2009-10-27 23:47) [5]


> Текст, передаваемый TnmHttp сохраняю в файл. Затем из этого
> буфера передаю через сокет. Разницы не может быть.


эм.. а как вы получаете этот "передаваемый" текст?

к сожалению, не работал никогда с TnmHttp, но совсем недавно занимался тем же самым - писал свой HTTP сервер и свой клиент... ответы получаются идентичные!

может быть при работе с TnmHttp вы говорите ему на какой адрес отправить и какой запрос, а на сомом деле он автоматически добавляет ещё какие-то поля? в конце-концов попробуйте посмотреть в исходники TnmHttp, не думаю что там всё настолько запустанно ;)


 
Евгений Р.   (2009-10-28 00:00) [6]


> Запросы могут отличаться протоколом, адресом IP, URL, портом,
>  заголовками, телом.


протокол - http подразумевает тектовый
тот же текст, что я передаю сайту - я передаю своему локальному серверу. Значит сервер и сайт получают одно и тоже.

адрес IP, порт - одинаковы


 
McSimm ©   (2009-10-28 00:02) [7]

заголовки ?

Можете привести пример запроса


 
Плохиш ©   (2009-10-28 00:16) [8]

Хм, не только я люблю печеньки :-))


 
Евгений Р.   (2009-10-28 00:31) [9]

Все получилось:
В заголовке есть "Host:"
туда TnmHttp помещает ip или url. Поэтому, когда я копировал запрос через файл, там стоял 127.0.0.1. Заменил его на url, - ответ получился как и от TnmHttp.
Слава Богу дело не в цвете и запахе кука(печеньки)!!!


> Можете привести пример запроса


вот запрос:
POST /index.htm HTTP/1.0
Host: www.delphimaster.ru
Accept: www/source, text/html, video/mpeg, image/jpeg, image/x-tiff
Accept: image/x-rgb, image/x-xbm, image/gif, */*, application/postscript
User-Agent: jrLocalMail...
From: jrLocalProgram
Cookie: jrCookie
Referer: jrRefer
Authorization: Basic anJVc2VySWQ6anJQYXNzd29yZA==
Content-type: application/x-www-form-urlencoded
Content-Length: 67

27%2E10%2E09++22%3A59%3A27+%EF%F0%EE%E2%E5%F0%EA%E0+%F1%E2%FF%E7%E8

вот ответ:(правда обрезан на полуслове, но думаю решаемо):

Date: Tue, 27 Oct 2009 21:24:12 GMT
Server: Apache/1.3.41 (Unix)
Last-Modified: Thu, 22 Oct 2009 20:10:52 GMT
ETag: "56229d-248f-4ae0bc4c"
Accept-Ranges: bytes
Content-Length: 9359
Connection: close
Content-Type: text/html
X-Pad: avoid browser bug

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<TITLE>Мастера DELPHI | ERROR 404 (документация, исходники, скачать)</TITLE>
<META HTTP-EQUIV="Keywords" NAME="Keywords" CONTENT="delphi, russian, исходники, документация, delp



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2009.12.13;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.005 c
2-1255265933
Alexei
2009-10-11 16:58
2009.12.13
Работа с SynMemo


11-1209490183
=BuckLr=
2008-04-29 21:29
2009.12.13
Отрисовка ListView вручную


2-1254770157
laari
2009-10-05 23:15
2009.12.13
Delphi+dbf. Определение пути к файлам базы.


15-1255725008
Юрий
2009-10-17 00:30
2009.12.13
С днем рождения ! 17 октября 2009 суббота


10-1160194093
zero-g
2006-10-07 08:08
2009.12.13
Delphi 7 + Visio 2003





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский