Вернуться   GraBBerZ.CoM - ICQ | Proxy | Бруты | Дедики | Эксплоиты > Программирование/Кодинг > Delphi/Pascal

Ответ
 
Опции темы Опции просмотра

Lazarus+synapse не проходит авторизация на сервере
Старый 12.04.2016, 20:04   #1
bit
 
Аватар для Kom
 
Kom вне форума
Регистрация: 10.01.2012
Сообщений: 11
Респекты: 0

Lazarus+synapse не проходит авторизация на сервере

Такая беда: пытаюсь авторизоваться на сервере, отсылаю post-запрос на страницу с авторизацией, при включённом httpanalyzer запрос проходит, авторизация проходит нормально, всё работает как часы, при выключенном сниффере сервер возвращает 400-Bad Request. Где накосячил-не пойму.
Вот код:
PHP код:

Client.Clear;
  
:= 'utf8=' EncodeURLElement('✓') + '&authenticity_token='EncodeURLElement(authtoken) +
    
'&' EncodeURLElement('[ref]') + '=' +
    
'&' EncodeURLElement('[wallet]') + '=' EncodeURLElement(wallet) + '&commit=' +
    
'SIGN+IN';
  
s:= UTF8Encode(s);
  
Client.Document.Write(pchar(s)^, Length(s));
  
Client.MimeType := 'application/x-www-form-urlencoded; charset=utf-8';
  
Client.Headers.Add('Content-Length: ' inttostr(Length(s)));
  
Client.Headers.Add('Referer: http://boxbit.co.in/sign_in');
  
Client.Headers.Add('Accept-Encoding: gzip, deflate');
  
Client.Headers.Add('Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3');
  
Client.Headers.Add('Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8');
  if 
Client.HTTPMethod('POST''http://boxbit.co.in/sign_in_account'then
  begin
    
if Client.ResultCode 302 then
    begin
      parser
.Expression := 'Location: (http://.*)';
      for 
:= 0 to Client.Headers.Count do
        if 
parser.exec(Client.Headers[i]) then
          redirURL 
:= parser.Match[1];
      if 
CompareStr('http://boxbit.co.in/'redirURL) = 0 then
        log
.Add('Авторизация прошла успешно!')
      else
        
log.Add('Авторизация не удалась!');
    
end
    
else
    
begin
      log
.Add('s length is '+inttostr(Length(s)));
      
:= Client.Headers.Text;
      
parsepage := ReadStrFromStream(Client.DocumentClient.Document.Size);
      
log.Add(s);
      
log.Add(parsepage);
      
log.SaveToFile('log\boxbitlog.txt');
    
end;
  
end
Может кто что подсказать?

Всё, сам разобрался, Content-length был лишним, теперь всё работает
  Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Время: 23:16



Powered by vBulletin® Version 3.7.6
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. Перевод: zCarot