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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.01.2013, 01:45   #1
AmbaQ
Пользователь
 
Аватар для AmbaQ
 
Регистрация: 23.12.2009
Сообщений: 47
Вопрос post (чекер на привязку)

Здравствуйте! Задача: необходимо узнать, привязана ли почта к игре, для этого использую форму регистрации на сайте _http://pw.mail.ru/account.php, ввожу майл, если занят, то помещаю в файлик "Валидные". Проблема в том, что сервер постоянно отвечает, что майл свободет, независимо от того, свободен он или нет.

Код:
var
  IdHTTP: TIdHTTP;
  sl: TStringList;
  obrabotka, email: string;
begin
  email := Edit1.Text;

  IdHTTP := TIdHTTP.Create;

  sl := TStringList.Create;

  sl.Add('do=verifyLogin');
  sl.Add('login=' + email);
  IdHTTP.Request.UserAgent :=
    'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:18.0) Gecko/20100101 Firefox/18.0';
  IdHTTP.Request.Referer := 'http://pw.mail.ru/account.php';

  obrabotka := IdHTTP.Post('http://pw.mail.ru/ajaxreg.php', sl);
 // label1.Caption:=obrabotka;
  if Pos('"valid":"1"', obrabotka) > 0 then
    ShowMessage('НеВалидно')
  else
    ShowMessage('Валидно');
  sl.Free;
  IdHTTP.Free;
end;
Сервер отвечает двумя возможными комбинациями:

1) {"valid":"","error":"","partner":"0 ","pauth":""} - значит занят
2) {"valid":"1","error":"","partner":"0","pauth":" "} - это значит, что мыльник свободен

Прошу помочь разобраться с этим делом. Заранее спасибо.

Последний раз редактировалось AmbaQ; 24.01.2013 в 01:52.
AmbaQ вне форума Ответить с цитированием
Старый 24.01.2013, 12:15   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Copy,Pos,Delete - святая троица в разборе строк.
Человек_Борща вне форума Ответить с цитированием
Старый 24.01.2013, 16:10   #3
AmbaQ
Пользователь
 
Аватар для AmbaQ
 
Регистрация: 23.12.2009
Сообщений: 47
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
Copy,Pos,Delete - святая троица в разборе строк.
Эм, может поясните, как это использовать в решение моей проблемы? Читаю я строку нормально и сравниваю тоже, а как мне запрос правильно отправлять?
AmbaQ вне форума Ответить с цитированием
Старый 24.01.2013, 19:50   #4
Lardes
Форумчанин
 
Аватар для Lardes
 
Регистрация: 19.08.2011
Сообщений: 329
По умолчанию

Внимательно посмотри снифером что делает браузер. Куки не подключены. В этом может быть проблема
Lardes вне форума Ответить с цитированием
Старый 27.01.2013, 13:19   #5
AmbaQ
Пользователь
 
Аватар для AmbaQ
 
Регистрация: 23.12.2009
Сообщений: 47
По умолчанию

Цитата:
Сообщение от Lardes Посмотреть сообщение
Внимательно посмотри снифером что делает браузер. Куки не подключены. В этом может быть проблема
Да, вы правы, куки не приходят в ответ, в отличие от запроса браузера, в чём может быть проблема? И коли тут программисты, а не экстрасенсы, оставляю проект, тык. Кто сможет, посмотрите, мне кажется, что знающий человек найдёт ошибку сразу. (http://zalil.ru/34208624)


Если это поможет, данные со снифера:

1) Нормальная отправка (браузер).

Код:
Request Headers	Value
(Request-Line)	POST /ajaxreg.php HTTP/1.1
Host	pw.mail.ru
User-Agent	Mozilla/5.0 (Windows NT 6.1; WOW64; rv:18.0) Gecko/20100101 Firefox/18.0
Accept	application/json, text/javascript, */*
Accept-Language	ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding	gzip, deflate
Content-Type	application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With	XMLHttpRequest
Referer	http://pw.mail.ru/account.php
Content-Length	35
Cookie	VID=2Qgfwk1KuXX4; mc1=1359870265; p=h1sAAM33HwAA; mc2=pw.mail.ru; __utma=241825539.511109476.1359279867.1359279867.1359279867.1; __utmb=241825539; __utmc=241825539; __utmz=241825539.1359279867.1.1.utmccn=(referral)|utmcsr=yandex.ru|utmcct=/|utmcmd=referral; __utma=1.1495821198.1359279869.1359279869.1359279869.1; __utmb=1.2.10.1359279869; __utmc=1; __utmz=1.1359279869.1.1.utmcsr=yandex.ru|utmccn=(referral)|utmcmd=referral|utmcct=/; partner_session_day=27; __partner_id=1_512_58266_0__; mrcu=781C5104F6F93D5529BCFA01060A; n_js=3656387971; bbsessionhash=866523e77a74b59aaebdafb5d8cd03e2; bblastvisit=1359279867; bblastactivity=0; __referrer=http%3A%2F%2Fpw.mail.ru%2F; __atuvc=1%7C5
Connection	keep-alive
Pragma	no-cache
Cache-Control	no-cache
2) Из программы

Код:
Request Headers	Value
(Request-Line)	POST /ajaxreg.php HTTP/1.0
Connection	keep-alive
Content-Type	application/x-www-form-urlencoded
Content-Length	35
Host	pw.mail.ru
Accept	text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding	identity
Referer	http://pw.mail.ru/account.php
User-Agent	Mozilla/5.0 (Windows NT 6.1; WOW64; rv:18.0) Gecko/20100101 Firefox/18.0

Последний раз редактировалось AmbaQ; 27.01.2013 в 13:47.
AmbaQ вне форума Ответить с цитированием
Старый 27.01.2013, 14:02   #6
AmbaQ
Пользователь
 
Аватар для AmbaQ
 
Регистрация: 23.12.2009
Сообщений: 47
По умолчанию

Ух, нашёл глупую ошибку выше, менеджер присваивал не тому объекту, исправил, проблема осталась.
AmbaQ вне форума Ответить с цитированием
Старый 27.01.2013, 14:52   #7
Lardes
Форумчанин
 
Аватар для Lardes
 
Регистрация: 19.08.2011
Сообщений: 329
По умолчанию

Цитата:
Сообщение от AmbaQ Посмотреть сообщение
Ух, нашёл глупую ошибку выше, менеджер присваивал не тому объекту, исправил, проблема осталась.
какая проблема? куки?
Lardes вне форума Ответить с цитированием
Старый 27.01.2013, 14:54   #8
AmbaQ
Пользователь
 
Аватар для AmbaQ
 
Регистрация: 23.12.2009
Сообщений: 47
По умолчанию

Цитата:
Сообщение от Lardes Посмотреть сообщение
какая проблема? куки?
Проблема в ответе сервера, один из вариантов - куки.

Ещё вопрос.

Разница между

Код:
(Request-Line)	POST /ajaxreg.php HTTP/1.0
и
Код:
(Request-Line):POST /ajaxreg.php HTTP/1.1
Играет роль? Если да, как ликвидировать?

Последний раз редактировалось AmbaQ; 27.01.2013 в 15:00.
AmbaQ вне форума Ответить с цитированием
Старый 27.01.2013, 15:01   #9
Lardes
Форумчанин
 
Аватар для Lardes
 
Регистрация: 19.08.2011
Сообщений: 329
По умолчанию

Уже много раз говорилось о проблемах инди (в особенности про куки). Вариант - сменить версию инди, но ещё лучше перейти на синапс. Далее по сниферу у тебя протокол стоит 1.0, в браузере 1.1, но не думаю, что из-за этого что-то измениться

Последний раз редактировалось Lardes; 27.01.2013 в 15:04.
Lardes вне форума Ответить с цитированием
Старый 27.01.2013, 15:05   #10
Lardes
Форумчанин
 
Аватар для Lardes
 
Регистрация: 19.08.2011
Сообщений: 329
По умолчанию

Цитата:
Играет роль? Если да, как ликвидировать?
Ликвидировать её не нужно, а просто в свойствах инди изменить протокол

И ещё: ты делаешь только пост запрос, при этом не имея никаких куков. Делай гет-запрос, посмотри как браузер берет куки, по каким ссылкам и повтори тоже самое

Последний раз редактировалось Lardes; 27.01.2013 в 15:09.
Lardes вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамически изменить привязку контролов Тоба Win Api 5 02.11.2012 21:35
Прокси чекер Pasha_Sh Работа с сетью в Delphi 1 14.06.2010 12:45
Прокси чекер Terikon Работа с сетью в Delphi 50 07.05.2009 17:54
чекер DeDoK Общие вопросы Delphi 0 15.04.2009 22:26