Вопрос

Я новичок в Delphi. А также почти новичок в мире программирования.

Я сделал несколько простых последующих программ, который использует модуль IDHTTP.

Но когда его выполняют, это не правильно работает.

Эта простая программа проверяется на мою статус учетной записи.

Если учетная запись будет успешно, он возвращает какой-то исходный код, который включает в себя «Top.location =»

в источнике, и если вход не удалось, он возвращается, не включен «Top.location =»

Внутри Account.txt следуют в следующем, и третья учетная запись была привлечена к учетной записи

Но только первая учетная запись может проверить, после первой учетной записи другой учетной записи не может проверить

Я понятия не имею, что с ним не так

ph896011 pk1089.

FSADFASDF DDDDDSS.

ph896011 pk1089.

Ниже приведен источник Delphi

Если кто-то поможет мне очень оценить!

единичный блок1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection,
  IdTCPClient, IdHTTP, IdCookieManager, ExtCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    IdHTTP1: TIdHTTP;
    Memo1: TMemo;
    IdCookieManager1: TIdCookieManager;
    lstAcct: TListBox;
    result: TLabel;
    Edit1: TEdit;
    Timer1: TTimer;
    procedure Button1Click(Sender: TObject);
    //procedure FormCreate(Sender: TObject);
    //procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    AccList: TStringList;
    IdCookie: TIdCookieManager;
    CookieList: TList;
    StartCnt: Integer;
    InputCnt: Integer;
    WordList: TStringList;
    WordNoList: TStringList;
    WordCntList: TStringList;
    StartTime: TDateTime;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var

  i: Integer;
  //temp: String;
  lsttemp: TStringList;
  sl : tstringlist;
  //userId,userPass: string;
begin
  InputCnt:= 0;
  WordList := TStringList.Create;
  CookieList := TList.create;
  IdCookie := TIdCookieManager.Create(self);


  if FileExists(ExtractFilePath(Application.ExeName) + 'account.txt') then
    WordList.LoadFromFile(ExtractFilePath(Application.ExeName) + 'account.txt');

  WordNoList:= TStringList.Create;
  WordCntList := TStringList.Create;
  lsttemp := TStringList.create;
  sl :=Tstringlist.Create;
try
  try
    for i := 0  to  WordList.Count -1 do
    begin
      ExtractStrings([' '], [' '], pchar(WordList[i]), lsttemp);
      WordNoList.add(lsttemp[0]);
      //ShowMessage(lsttemp[0]);
      WordCntList.add(lsttemp[1]);
      //ShowMessage(lsttemp[1]);

      sl.Add('ID='+ lsttemp[0]);
      sl.add('PWD=' + lsttemp[1]);
      sl.add('SECCHK=0');
      IdHTTP1.HandleRedirects := True;
      IdHTTP1.Request.ContentType := 'application/x-www-form-urlencoded';
      memo1.Text:=idhttp1.Post('http://user.buddybuddy.co.kr/Login/Login.asp',sl);

      if pos('top.location =',Memo1.Text)> 0 then

       begin
        application.ProcessMessages;
       ShowMessage('Alive Acc!');
        //result.Caption := 'alive acc'  ;
        sleep(1000);
        Edit1.Text := 'alive acc';
        lsttemp.Clear;
        Memo1.Text := '';
        //memo1.Text := IdHTTP1.Get('https://user.buddybuddy.co.kr/Login/Logout.asp');
        Sleep(1000);
       end;


      if pos('top.location =', memo1.Text) <> 1 then

      begin
      application.ProcessMessages;
      ShowMessage('bad');
      Edit1.Text := 'bad';
      //edit1.Text := 'bad';
      lsttemp.Clear;
      memo1.Text := '';
      sleep(1000) ;
      end;
      Edit1.Text := '';
    end;

  finally
    lsttemp.free;
  end;
  StartCnt := lstAcct.items.Count;
  StartTime := Now;

finally
  sl.Free;
end;
end;



end.
Это было полезно?

Решение

Прямо перед:

sl.Add('ID='+ lsttemp[0]);

Делать:

sl.Clear;

В первом запуске ваша «SL» удерживает два параметра сообщения, но если вы не очистите его во втором прогоне, вы просто продолжаете добавлять параметры, запутав сервер HTTP, который вы пытаетесь подключиться к!

Это может не быть вашей единственной проблемой, но это, безусловно, одна из проблем.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top