Показать сообщение отдельно
  #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.

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

Помогите разобраться пожалуйста
Ответить с цитированием