Тема: Post запрос
Показать сообщение отдельно
  #1  
Старый 26.02.2012, 10:56
Diamant Diamant вне форума
Прохожий
 
Регистрация: 26.02.2012
Сообщения: 1
Репутация: 10
По умолчанию Post запрос

Значит нужно написать программу, которая бы отправляла на определенный адрес Post-запрос с куками. Вроде бы все написал, но работать не хочет, программа зависает намертво при отправке запроса. Не могли бы вы подсказать, в чем проблема?
P.S.: в программировании я еще новичок. Если можно, то по-подробнее. Работал в Delphi XE2

Код:
unit main;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
  System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls,
  IdComponent, IdTCPConnection, IdTCPClient, IdHTTP, IdBaseComponent,
  IdAntiFreezeBase, Vcl.IdAntiFreeze;

type
  TFNubForm = class(TForm)
    lbl_cookie: TLabel;
    btn_go: TButton;
    btn_stop: TButton;
    edt_url: TEdit;
    AntiFreeze: TIdAntiFreeze;
    HTTP: TIdHTTP;
    Edit1: TEdit;
    Edit2: TEdit;
    Label1: TLabel;
    Memo1: TMemo;
    lbl_count: TLabel;
    procedure btn_goClick(Sender: TObject);
    procedure btn_stopClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    Stop: Boolean;
  public
    { Public declarations }
  end;

var
  FNubForm: TFNubForm;

implementation

{$R *.dfm}

procedure TFNubForm.btn_goClick(Sender: TObject);

begin
  Stop := false;
  edit1.Enabled:=false;
  edit2.Enabled:=false;
  edt_url.Enabled:=false;
  lbl_count.Caption := '0';
  lbl_count.Caption := IntToStr(1 + strtoint(lbl_count.Caption));

  while not Stop do
    begin
    
      HTTP.Request.CustomHeaders.Text:='Cookie: vkuid=' +edit1.Text +'; vkkey=' +edit2.Text;
      try
        HTTP.Post(edt_url.Text,'Text');
     except
      end;

      lbl_count.Caption := IntToStr(1 + strtoint(lbl_count.Caption));
      Memo1.Lines.Add('Собрано');
    end;
  edit1.Enabled:=true;
  edit2.Enabled:=true;
  edt_url.Enabled:=true;
end;

procedure TFNubForm.btn_stopClick(Sender: TObject);
begin
  Stop:=true;
end;

procedure TFNubForm.FormCreate(Sender: TObject);
begin

end;

end.
Ответить с цитированием