Einzelnen Beitrag anzeigen

Benutzerbild von vlees91
vlees91

Registriert seit: 19. Apr 2004
843 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Cookies mit TIdCookieManager und TIdHTTP

  Alt 16. Okt 2008, 16:37
das offizielle Porgramm logged sich so ein:
Code:
POST /login HTTP/1.1..Accept: */*..Cache-Control: no-cache..Content-Length: 242..Content-Type: multipart/form-data; boundary=---------------------------e5f210926b..Connection: Close..Host: uploaded.to..Pragma: no-cache..Referer: [url]http://uploaded.to/..User-Agent:[/url] Uploaded.to-Uploader V1.0....-----------------------------e5f210926b..Content-Disposition: form-data; name="email"....USR123..-----------------------------e5f210926b..Content-Disposition: form-data; name="password"....PWDHIER!..-----------------------------e5f210926b--.....
mein Programm macht das ein wenig anders: zuerst ruft der die login datei auf unf schickt als 2. Packet die logindaten hinterher
der code dazu funktioniert aber auf anderen Seiten auch wunderbar:
Delphi-Quellcode:
procedure TForm1.login(username, password: string);
var
  lStream: TMemoryStream;
  lParams: TStringStream;
  result: string;
begin
  result := '';
  lStream := TMemoryStream.create;
  lParams := TStringStream.create('');
    MyHTTP.Request.ContentType := 'application/x-www-form-urlencoded';
    MyHTTP.Request.Referer := 'http://uploaded.to/';
    MyHTTP.Request.UserAgent := 'Uploaded.to-Uploader V1.0';

    lParams.WriteString('email='+ username +'&password='+ password);

      MyHTTP.Post('http://uploaded.to/login',
                 lParams,
                 lStream);
    SetLength(Result,lStream.Size);
    lStream.Position:=0;
    lStream.ReadBuffer(Result[1],lStream.Size);
    Memo2.Text := result; //temporaer um anzuzeigen was rauskommt. bisher immer eine HTML Seite die behauptet ich akzpetiere keine Cookies
    lParams.Free;
    lStream.Free;
end;
hier noch das was alles intialisiert wird wenn ich das prog starte:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  MyCookie := TIdCookieManager.Create(self);
  MyCookie.OnNewCookie := NewCookie;
  MyHTTP := TIdHTTP.Create(self);
  MyHTTP.AllowCookies := true;
  MyHTTP.CookieManager := MyCookie;
  MyHttp.HandleRedirects := true;
  MyHttp.OnRedirect := Redirection;
  login('USR123', 'PWDHIER!');
  stopCheck := false; //alles hier nach hat nichts mit der funktionalitaet der cookies zu tun also nicht drauf achten
  dead := 0;
  if fileexists('lines.txt') then
    Memo1.Lines.LoadFromFile('lines.txt');
end;
und bitte auch nicht meckern ueber das nicht anwesend sein von try strukturen
vlees91
  Mit Zitat antworten Zitat