Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 17.02.2016, 12:40
Loca Loca вне форума
Прохожий
 
Регистрация: 28.10.2015
Сообщения: 20
Версия Delphi: delphi 10
Репутация: 518
По умолчанию POST запрос на synapse

Всем привет.

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

Решил сделать что-то типа виджета на браузерную игру, который отображает статистику/инфу и т.п. о моём персе, обновляя через определённый промежуток времени.

Это легко, спарсил и готово. Но я не могу авторизоваться(

Ну вот где я тут ошибся?
Код:
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, httpsend, Vcl.StdCtrls;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

  type
  th=class(tthread)
    private
    public
    procedure execute; override;
  end;

var
  Form1: TForm1;
  thh:th;
  h:Thttpsend;
  g:tstringlist;
  send:tstringstream;

implementation

{$R *.dfm}

procedure th.Execute;
begin
h.UserAgent:='browser';
h.MimeType:='application/x-www-form-urlencoded';
h.Headers.Add('Referer: http://tiwar.ru/?sign_in=1');

send.WriteString('login=Testt&pass=123456');
h.Document.LoadFromStream(send);
h.HTTPMethod('POST','http://tiwar.ru/?sign_in=1');
g.LoadFromStream(h.Document);

form1.memo1.Lines.Add(utf8decode(h.Headers.Text));
form1.memo1.Lines.Add(inttostr(h.ResultCode));
form1.memo1.Lines.Add(utf8decode(g.Text));
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
thh:=th.Create(true);
thh.FreeOnTerminate:=true;
thh.Priority:=tpnormal;
thh.Resume;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
send.Free;
g.Free;
h.Free;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
h:=Thttpsend.Create;
g:=tstringlist.Create;
send:=tstringstream.Create;
end;

end.

Ничего не пойму, запрос отправляется, по снифферу смотрел всё одинаково, так же как через браузер, но выдаёт что логин/пароль не верный. Хотя всё верно.
На других играх тоже самое.

Помогите разобраться пожалуйста
Ответить с цитированием
  #2  
Старый 17.02.2016, 13:14
ApxaHGe1 ApxaHGe1 вне форума
Активный
 
Регистрация: 08.04.2008
Адрес: Нижний новгород
Сообщения: 311
Репутация: 38
По умолчанию

Код:
procedure th.Execute;
begin
h.MimeType:='application/x-www-form-urlencoded';
 
send.WriteString('login=Testt&pass=123456');
h.Document.LoadFromStream(send);
h.HTTPMethod('POST','http://tiwar.ru/?sign_in=1');
g.LoadFromStream(h.Document);
 
form1.memo1.Lines.Add(utf8decode(h.Headers.Text));
form1.memo1.Lines.Add(inttostr(h.ResultCode));
form1.memo1.Lines.Add(utf8decode(g.Text));
end;
Админ: пятидневный бан за несоблюдение правил форума по оформлению кода.

Перед постом хедер чистить надо.а первый запрос на авторизацию без него слать. И без юзер агента. Вообщем попробуй

Последний раз редактировалось Admin, 17.02.2016 в 19:28.
Ответить с цитированием
Этот пользователь сказал Спасибо ApxaHGe1 за это полезное сообщение:
Loca (20.02.2016)
  #3  
Старый 20.02.2016, 05:04
Loca Loca вне форума
Прохожий
 
Регистрация: 28.10.2015
Сообщения: 20
Версия Delphi: delphi 10
Репутация: 518
По умолчанию

Цитата:
Сообщение от ApxaHGe1
Перед постом хедер чистить надо.а первый запрос на авторизацию без него слать. И без юзер агента. Вообщем попробуй

ну вроде разобрался что к чему, немножко сложнее конечно чем на инди, но тоже норм. Больше с редиректами мучился.
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

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

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


Часовой пояс GMT +3, время: 00:21.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025