Einzelnen Beitrag anzeigen

Benutzerbild von 0NyX
0NyX

Registriert seit: 13. Aug 2007
67 Beiträge
 
#1

TidHttp kein vollständiger GET & Fehler beim Login

  Alt 9. Jul 2009, 13:09
Guten Tag Delphi-Praxis User,

ich möchte mich in nächster Zeit ein bisschen mehr mit der TidHttp Komponente auseinandersetzen, da der TWebBrowser sehr langsam und sehr resourcen lastig arbeitet.
Ich hatte mit mit Hilfe des TWebBrowser ein Programm geschrieben, welches mir Neue Nachrichten, Gästebuch Einträge und Einladungen bei Schüler.cc anzeigt und ausgibt.
Dieses kalppt auch soweit, doch nun möchte ich dieses via TidHttp lösen, in der Hoffnung das dieses schneller läuft und nicht so Resourcen lastig ist.

Nun komme ich aber schon nicht beim Login weiter.
Post Daten sollten soweit vollständig sein.
Jedoch wenn ich den Post ausführe kommt nur ein teil des quellcodes wieder:
Zitat:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>
Schueler.CC | Home</title>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<meta http-equiv="X-UA-Compatible" content="IE=7" />
<META content="MSHTML 6.00.2600.0" name=GENERATOR>
<META NAME="description" CONTENT="">
<META NAME="keywords" CONTENT="">
<META NAME="page-type" CONTENT="Homepage">
<META NAME="robots" CONTENT="index,follow">
mehr gibt der einfach nicht zurück. Das selbe kommt auch wenn man einfach nur ein GET ausführt. Leider habe ich keine Ahnung, wieso dieses so ist...

CookieManager habe ich eingefügt. Die idHttp Komponente habe ich wie folgt angepasst:
Delphi-Quellcode:
IdHTTP1.CookieManager := IdCookieManager1;
IdHTTP1.HandleRedirects := true;
IdHTTP1.Request.UserAgent := 'Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10';
Wenn ein neues Cookie gesetzt wird, wird folgendes gemacht (ist auch nen kleiner "log" bei):
Delphi-Quellcode:
procedure TForm1.IdCookieManager1NewCookie(ASender: TObject;
  ACookie: TIdCookieRFC2109; var VAccept: Boolean);
begin
  ACookie.Path := '/';

    Memo1.Lines.Add('New Cookie:');
  Memo1.Lines.Add(' Comment: '+ACookie.Comment);
  Memo1.Lines.Add(' Version: '+ACookie.Version);
  Memo1.Lines.Add(' CookieText: '+ACookie.CookieText);
  Memo1.Lines.Add(' ServerCookie: '+ACookie.ServerCookie);
  Memo1.Lines.Add(' ClientCookie: '+ACookie.ClientCookie);
  Memo1.Lines.Add(' Domain: '+ACookie.Domain);
  Memo1.Lines.Add(' Expires: '+ACookie.Expires);
  Memo1.Lines.Add(' CookieName: '+ACookie.CookieName);
  Memo1.Lines.Add(' Path: '+ACookie.Path);
  Memo1.Lines.Add(' Value: '+ACookie.Value);
  Memo1.Lines.Add(' DisplayName: '+ACookie.DisplayName);
  Memo1.Lines.Add('');
end;
Die Procedure fürs Login sieht nun wie folgt aus:
Delphi-Quellcode:
procedure TForm1.BtLoginClick(Sender: TObject);
var
  Params: TStringList;
begin


  Params := TStringList.Create;
  try
    IdHTTP1.Get('http://www.schueler.cc/s,login,login.php');

    Params.Add('email='+EdtMail.Text);
    Params.Add('passwort='+EdtPw.Text);
    Params.Add('button_login_login=Login');

    Memo1.Lines.Add(IdHTTP1.Post('http://www.schueler.cc/s,login,login.php', Params));

  finally
    Params.Free;
  end;


end;
Würde mich sehr über ein bisschen Hilfe freuen.

Vielen Dank im voraus!

Mit freundlichen Grüßen
0nYx
"Der Computer rechnet mit allem, nur nicht mit seinem Nutzer!"
  Mit Zitat antworten Zitat