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

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

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.11.2009, 11:38   #1
larin1974
Пользователь
 
Регистрация: 11.09.2009
Сообщений: 34
По умолчанию Разобраться в winsock

Привет все, я начал изучать winsock для создания клиент серверных приложений.Для начала я решил попробовать авторизоваться на каком нибудь
сайте, на всех сайтах была каптча, и мой выбор остановился на социальной сети мир тесен. Снифером я посмотрел какие данные передаются:
В начале пост-запрос
Код:
Статус: 302[Found]
POST http://mirtesen.ru/login Флаги загрузки[LOAD_DOCUMENT_URI  LOAD_INITIAL_DOCUMENT_URI  ] Размер содержимого[20] Тип Mime[text/html]
   Заголовки запроса:
      Host[mirtesen.ru]
      User-Agent[Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.1) Gecko/20090715 Firefox/3.5.1]
      Accept[text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8]
      Accept-Language[ru,en-us;q=0.7,en;q=0.3]
      Accept-Encoding[gzip,deflate]
      Accept-Charset[windows-1251,utf-8;q=0.7,*;q=0.7]
      Keep-Alive[300]
      Connection[keep-alive]
      Referer[http://mirtesen.ru/]
      Cookie[mirtesen=pf67ddbumtee0ou7dp5m5opgg3; __utma=89864455.1090185553.1257150638.1257150638.1257150638.1; 
__utmb=89864455; __utmc=89864455; __utmz=89864455.1257150638.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none)]
   Данные Post:
      auth%5Bbackurl%5D[http%3A%2F%2Fmirtesen.ru%2F]
      auth%5Blogin%5D[мыло%40yandex.ru]
      auth%5Bpassword%5D[пароль]
      auth%5Bremember%5D[on]
   Заголовки ответа:
      Server[nginx/0.6.39]
      Date[Mon, 02 Nov 2009 08:30:32 GMT]
      Content-Type[text/html]
      Connection[keep-alive]
      Expires[Thu, 19 Nov 1981 08:52:00 GMT]
      Cache-Control[no-store, no-cache, must-revalidate, post-check=0, pre-check=0]
      Pragma[no-cache]
      Set-Cookie[htold=58b90dbf400d233572c8f83ba508afdc; path=/; domain=.mirtesen.ru; httponly
told=45e2ceb5f80a60b578b47a1d6b593a3d; expires=Wed, 11-Dec-2013 08:30:32 GMT; path=/; domain=.mirtesen.ru; httponly]
      Location[http://mirtesen.ru/]
      Content-Encoding[gzip]
      Content-Length[20]
Это запрос у меня прошел на ура.
Затем GET запрос, где content length у меня не совпадает у меня получается 5000, а там 8936
Код:
13:30:38.931[559мс][всего 3804мс] Статус: 200[OK]
GET http://mirtesen.ru/ Флаги загрузки[LOAD_DOCUMENT_URI  LOAD_REPLACE  LOAD_INITIAL_DOCUMENT_URI  ] Размер содержимого[8963] Тип Mime[text/html]
   Заголовки запроса:
      Host[mirtesen.ru]
      User-Agent[Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.1) Gecko/20090715 Firefox/3.5.1]
      Accept[text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8]
      Accept-Language[ru,en-us;q=0.7,en;q=0.3]
      Accept-Encoding[gzip,deflate]
      Accept-Charset[windows-1251,utf-8;q=0.7,*;q=0.7]
      Keep-Alive[300]
      Connection[keep-alive]
      Referer[http://mirtesen.ru/]
      Cookie[mirtesen=pf67ddbumtee0ou7dp5m5opgg3; __utma=89864455.1090185553.1257150638.1257150638.1257150638.1; __utmb=89864455; 
__utmc=89864455; __utmz=89864455.1257150638.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none); htold=58b90dbf400d233572c8f83ba508afdc; 
told=45e2ceb5f80a60b578b47a1d6b593a3d]
   Заголовки ответа:
      Server[nginx/0.6.39]
      Date[Mon, 02 Nov 2009 08:30:32 GMT]
      Content-Type[text/html; charset=UTF-8]
      Connection[keep-alive]
      Expires[Thu, 19 Nov 1981 08:52:00 GMT]
      Cache-Control[no-store, no-cache, must-revalidate, post-check=0, pre-check=0]
      Pragma[no-cache]
      Content-Encoding[gzip]
      Content-Length[8963]
Я думаю дело в куках, вопрос надо ли передавать
Цитата:
Set-Cookie[htold=58b90dbf400d233572c8f83ba508a fdc; path=/; domain=.mirtesen.ru; httponly
told=45e2ceb5f80a60b578b47a1d6b593a 3d; expires=Wed, 11-Dec-2013 08:30:32 GMT; path=/; domain=.mirtesen.ru; httponly]
вот это из первого запроса во второй? Или что надо передать из ответа POST в GET. Подскажите просто что нужно передавать, код составлю сам, так цель понять работу сокетов

Последний раз редактировалось mihali4; 02.11.2009 в 12:20.
larin1974 вне форума Ответить с цитированием
Старый 02.11.2009, 16:39   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Set-Cookie
это значит установить куки.
Цитата:
htold=58b90dbf400d233572c8f83ba508a
имя куки=значение куки.
Цитата:
path=/;
путь(часть после домена)...эта запись означает что передаем любому пути.
Цитата:
domain=.mirtesen.ru;
домен который является владельцем куки.(и которому надо передавать их)...тут помоему любой домен с именем второго/первого уровня mirtesen.ru
Цитата:
expires=Wed, 11-Dec-2013 08:30:32 GMT
срок хранения куки.(то есть когда они истекают)

у первых куки нет времени...значит они сессионые...то есть актульны до перезапуска браузера...при выключении браузера такие куки должны удалятся(вроде так)

из этих данных вы должны потом передавать параметр Cookie: <имя>=<значение>; <имя2>=<значение2>
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 02.11.2009, 17:03   #3
larin1974
Пользователь
 
Регистрация: 11.09.2009
Сообщений: 34
По умолчанию

Благодарю за ответ, за подробное объяснение.Пошел пробывать.
larin1974 вне форума Ответить с цитированием
Старый 02.11.2009, 17:24   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Cookie[mirtesen=pf67ddbumtee0ou7dp5m5opgg3 ; __utma=89864455.1090185553.12571506 38.1257150638.1257150638.1;
__utmb=89864455; __utmc=89864455; __utmz=89864455.1257150638.1.1.utmc cn=(direct)|utmcsr=(direct)|utmcmd= (none)]
кстати это я так понимаю получается при первом GET'е главной страницы
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 02.11.2009, 20:47   #5
larin1974
Пользователь
 
Регистрация: 11.09.2009
Сообщений: 34
По умолчанию

Сперва идет пост запрос, а потом снифер показал, гет.Если я правильно вас понял, то нет это при первом пост запросе, потом гет идет.Я вроде пост правильно составил, а вот в гет немогу понять как правильно отправить, сейчас помучаюсь и отпишусь.

Последний раз редактировалось larin1974; 02.11.2009 в 20:50.
larin1974 вне форума Ответить с цитированием
Старый 02.11.2009, 21:57   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

вы же в браузере как идете?
сначало главную страницу загружаете, потом авторизируетесь, и после авторизации редирект на профиль.
1)GET на главную, там скорее всего их и получаете.

у вас странный сниффер...
в нем можно смотреть чисто сам запрос полный?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 03.11.2009, 03:20   #7
larin1974
Пользователь
 
Регистрация: 11.09.2009
Сообщений: 34
По умолчанию

У меня плагин для мозилы Tamper Data, он показывает все что я выложил выше сначала POST запрос, затем GET, хотя я тоже считаю что должно быть наоборот.

Последний раз редактировалось larin1974; 03.11.2009 в 06:12. Причина: грамматические ошибки
larin1974 вне форума Ответить с цитированием
Старый 03.11.2009, 05:18   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

поидее должнобыть GET/POST/GET
посмотрите программой HTTP Debugger Pro
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 03.11.2009, 06:11   #9
larin1974
Пользователь
 
Регистрация: 11.09.2009
Сообщений: 34
По умолчанию

все равно post/get, это скорее всего потому что я снифир запускаю перед авторизацией, т.е захожу на сайт, включаю снифир и начинаю авторизоваться.
larin1974 вне форума Ответить с цитированием
Старый 03.11.2009, 13:44   #10
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
т.е захожу на сайт
а вот вам и первый get
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
WinSock Killbrum Win Api 1 18.10.2009 15:15
События WinSock telcomp Win Api 1 13.01.2009 09:26
Winsock не соединяет Da$aD Работа с сетью в Delphi 0 11.07.2008 22:57
Proxy в WinSock SHEI'TI Работа с сетью в Delphi 3 29.03.2008 18:27