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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.07.2014, 21:30   #21
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
Идентификатор сессии PHPSESSID ведь?
Он-то может и он, но он же в каждой сессии должен получаться новый. Иначе что это за сессия такая? Его надо получать а не присваивать самому.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.07.2014, 22:07   #22
hapera2
Пользователь
 
Регистрация: 12.11.2013
Сообщений: 65
По умолчанию

В смысле присваивать?
Куки автоматом заливаются.
К примеру, это то, что я только что вывел, обрати внимание на изменения в PHPSESSID:
Код:
Server: nginx
Date: Wed, 02 Jul 2014 18:06:04 GMT
Content-Type: text/html; charset=utf-8
Connection: close
Set-Cookie: PHPSESSID=4ep1d9b1konm75msv9jk8god84; path=/
Last-Modified: Tue, 01 Jul 2014 18:06:04 GMT
Cache-Control: no-store, no-cache, must-revalidate
Expires: 0
Pragma: no-cache
hapera2 вне форума Ответить с цитированием
Старый 02.07.2014, 22:09   #23
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,442
По умолчанию

Сервер пытается так выдать вам сессию, своеобразный уникальный токен. Без него дальнейшая работа с сервером закончится посылом на юг а за одно сервер вновь даст вам попытать счастья, выдав новый PHPSESSID.

Сохраняете это:
PHPSESSID=4ep1d9b1konm75msv9jk8god8 4

а затем в каждом последующем запросе к серверу, передаете ему это:
PHPSESSID=4ep1d9b1konm75msv9jk8god8 4
в HTTP-заголовке.
Человек_Борща вне форума Ответить с цитированием
Старый 02.07.2014, 22:59   #24
hapera2
Пользователь
 
Регистрация: 12.11.2013
Сообщений: 65
По умолчанию

Создал кнопочку для получения куки, с последующим использование в отправке post запроса. Правильно?
Ответа от страницы все равно нету

Кнопка получения куки:
Код:
procedure TForm1.Button2Click(Sender: TObject);
begin

idhttp1.Get('http://alltar.ru/index.php');
cookies:= IDHttp1.Response.RawHeaders.Text;
cookses:= pars('PHPSESSID=',cookies,';');

session:=cookses;
memo2.Text:=cookses;
end;
Кнопка отправки POST запроса:
Код:
procedure TForm1.РегистрацияClick(Sender: TObject);
var
strpage,ssylka:string;
log:TStringList;
 f:textfile;


      utf:string;

//

//
begin

idHttp1.Request.UserAgent:='Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22';
idHttp1.Request.Accept:='text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
idHttp1.Request.AcceptLanguage:='ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4';
idHttp1.Request.AcceptCharSet:='window s-1251,utf-8;q=0.7,*;q=0.3';
IdHTTP1.Request.CustomHeaders.text := 'Cookie: PHPSESSID='+session;
ssylka:='http://alltar.ru/index.php?f=register';
log:=TStringList.Create;
log.Add('l2prefix='+Edit2.text);
log.Add('l2account='+Edit3.text);
log.Add('l2password1='+Edit4.text);
log.Add('l2password2='+Edit4.text);
log.Add('l2email='+IntToStr(randomrange(22023232323,6546456233))+'@gmail.ru');
log.Add('recaptcha_challenge_field='+chambergood);
log.Add('recaptcha_response_field='+Edit1.Text);




strpage:=idhttp1.Post(ssylka,log);
    memo1.Text:=  strpage;
    memo3.text:=IDHttp1.Response.RawHeaders.Text;


  AssignFile (f, 'bla-bla-bla.html');
  Rewrite (f);
  WriteLn (f, utf);
  CloseFile (f);
  ShellExecute(0,'Open',pchar(ExtractFilePath(Application.ExeName)+'bla-bla-bla.html'),PChar('bla-bla-bla.html'),nil,1);




       if pos ('Поздравляем', strpage )<>0 then
label4.caption:='Зарегестрирован Успешно!'
else
     if pos ('картинке!', strpage )<>0 then
       label4.caption:='Неправильно введена капча'
else

label4.caption:='Ошибка';
log.Free;


end;
hapera2 вне форума Ответить с цитированием
Старый 02.07.2014, 23:07   #25
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,022
По умолчанию

не может быть без ответа
eval вне форума Ответить с цитированием
Старый 02.07.2014, 23:08   #26
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,022
По умолчанию

и кто то говорил про то что капча все ок, а сейчас видно что не очень то оно и ок
eval вне форума Ответить с цитированием
Старый 02.07.2014, 23:52   #27
doktor255
Заблокирован
 
Регистрация: 31.03.2011
Сообщений: 976
По умолчанию

hapera2 Универсальная методика программной авторизации/регистрации на любом сайте (НЕ SSL! Там другая методика).
Инструменты: Любой браузер, и снифер с возможностью просмотра заголовков.
Последовательность:
1 - Запускаем браузер, чистим куки того сайта, с которым предполагается работать
2 - Запускаем снифер
3 - Делаем полную регистрацию/авторизацию на нужном сайте
4 - Переписываем в блокнот все заголовки запросов/ответов, и данные POST запросов
5 - Делаем полный повтор программно.
Если регистрация/авторизация не происходит, значит повтор был не полным. Изучаем заголовки/POST запросы, ищем несоответствия. Так же НЕ ЗАБЫВАЕМ ЧИСТИТЬ КУКИ после каждой регистрации/авторизации. Без наличия всех перечисленных входных данных спрашивать "а почему не работает?" бессмысленно. Тут даже экстрасенсы будут бессильны.
doktor255 вне форума Ответить с цитированием
Ответ


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

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
idHTTP, POST _ZixeL_ Общие вопросы Delphi 7 12.03.2013 16:19
idhttp post roulis2844sasha Работа с сетью в Delphi 2 26.07.2011 10:15
Проблема с idhttp.post codermoder Работа с сетью в Delphi 14 12.11.2010 22:58
idHTTP post nix01d Работа с сетью в Delphi 7 06.07.2010 23:52
POST idHTTP Pasha_Sh Работа с сетью в Delphi 7 11.06.2010 09:00