AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

idhttp - gibt es ein gutes Tutorial?

Ein Thema von Evian · begonnen am 27. Mär 2007 · letzter Beitrag vom 27. Mär 2007
Antwort Antwort
Benutzerbild von Evian
Evian

Registriert seit: 10. Apr 2003
Ort: Berlin
485 Beiträge
 
Delphi 6 Professional
 
#1

idhttp - gibt es ein gutes Tutorial?

  Alt 27. Mär 2007, 10:21
Hallo Zusammen,

ich spiele gerade mit der idhttp-Komponente (Indy 9) rum und will versuchen mich bei mySpace.com einzuloggen um mögliche Nachrichten abzugreifen. Da das ganze ein wenig komplizierter ist, das ich ursprünglich angenommen hatte, wollte ich mal fragen, ob vielleicht jemand ein gutes Tutorial dazu kennt? Und bitte nicht das hier (http://www.dsdt.info/tutorials/indy/) ... das ist wirklich sehr rudimentär.

---


Mein eigentliches Problem ist folgendes:

Ich möchte mich per http post in das portal einloggen:

Delphi-Quellcode:
var
  PostInformationStream : TStringStream;
  Parameter : TStringStream;
begin
  idhttp1.HandleRedirects:=true;
  PostInformationStream := TStringStream.Create('');
  Parameter := TStringStream.Create('');
  Parameter.WriteString('fuseaction=login.process');
  Parameter.WriteString('email=XYZ');
  Parameter.WriteString('password=ZYX');
  try
    IdHTTP1.Post('http://login.myspace.com/index.cfm', Parameter, PostInformationStream);
    Memo1.Text := PostInformationStream.DataString;
  finally
  Parameter.Free;
  PostInformationStream.Free;
  end;
end;
Als Antwort lande ich immer auf der Seite, auf die man kommt, wenn man sein Passwort falsch eingegeben hat.
Wenn ich mir die Formulareigenschaften der Loginseite von Myspace in Firefox anzeigen lasse, dann ist die Formular-Aktion
des Login-formulars "http://login.myspace.com/index.cfm?fuseaction=login.process&MyToken=1d833b1 7-a90a-4cee-b7dd-ae58c4470d77".
Diesen Token (der immer neu generiert wird), habe ich bei meinen Parametern gar nicht angegeben.. aber ich weiß auch nicht, wie ich ihn vorher auslesen könnte. Hat jemand eine Idee?!

gruß Phill
-> www.Phillsoft.de

Ich bin nun Mathematiker, aber meine Freundin bleibt trotzdem unberechenbar!
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: idhttp - gibt es ein gutes Tutorial?

  Alt 27. Mär 2007, 10:32
es liegt eben an diesem Token würde ich sagen. Wie dir schon aufgefallen ist findet sich dieser Token auf der Seite wo du dich einloggst. Also musst du diese Seite vorher abfragen und den Token daraus extrahieren (Seite also parsen).

Ein Tutorial zu idhttp kenn ich nicht. Aber so viel gibt es da auch nicht das man ein Tutorial bräuchte.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#3

Re: idhttp - gibt es ein gutes Tutorial?

  Alt 27. Mär 2007, 11:18
versuchs mal so:

Delphi-Quellcode:
var
lData : TIdMultiPartFormDataStream;
sl : TStringList;
begin
lData := TIdMultiPartFormDataStream.Create;//Struktur erzeugen
  try
    lData.AddFormField('Name','Wert');//Feld hinzufügen
    with idhttp1 do
      begin
      sl:=TStringList.Create;
      sl.Text := Post(URL,lData);
      //Irgendwas tun mit sl...
      end;
  finally
    sl.Free;
    lData.Free;
    end;
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Benutzerbild von Evian
Evian

Registriert seit: 10. Apr 2003
Ort: Berlin
485 Beiträge
 
Delphi 6 Professional
 
#4

Re: idhttp - gibt es ein gutes Tutorial?

  Alt 27. Mär 2007, 11:57
Ich habe jetzt sowohl den Token ausgelesen, als auch die 2te Methode mit dem probiert... leider schaffe ich es immernoch nicht mich einzuloggen.

Delphi-Quellcode:
Function TForm1.getToken: String;
VAR
token : String;
BEGIN
     Token := idHTTP1.Get('http://www.myspace.com/');
     Token := copy(Token,pos('http://login.myspace.com/index.cfm?fuseaction=login.process&MyToken=',Token)+68,length(Token));
     result := copy(Token,1,pos('" method="post"',Token)-1);
END;

Procedure Tform1.Logintest1;
var
  ParamData : TStringStream;
  token : String;
begin
  idhttp1.HandleRedirects:=true;
  ParamData := TStringStream.Create('');
  try
     Token := getToken;
  finally
    try
      ParamData.WriteString('fuseaction=login.process');
      ParamData.WriteString('MyToken='+Token);
      ParamData.WriteString('email=XYZ');
      ParamData.WriteString('password=ZYX');

     Memo1.Text := IdHTTP1.Post('http://login.myspace.com/index.cfm',ParamData);
    finally
    ParamData.Free;
    end;
  end;
end;

Procedure Tform1.Logintest2;
var
  lData : TIdMultiPartFormDataStream;
  token : String;
begin
   idhttp1.HandleRedirects:=true;
   lData := TIdMultiPartFormDataStream.Create;//Struktur erzeugen
  try
     Token := getToken;
  finally
    try
      lData.AddFormField('fuseaction','login.process');
      lData.AddFormField('MyToken',Token);
      lData.AddFormField('email','XYZ');
      lData.AddFormField('password','ZYX');
      Memo1.Text := IdHTTP1.Post('http://login.myspace.com/index.cfm',lData);
    finally
    lData.free;
    end;
  end;
end;
-> www.Phillsoft.de

Ich bin nun Mathematiker, aber meine Freundin bleibt trotzdem unberechenbar!
  Mit Zitat antworten Zitat
Benutzerbild von Evian
Evian

Registriert seit: 10. Apr 2003
Ort: Berlin
485 Beiträge
 
Delphi 6 Professional
 
#5

Re: idhttp - gibt es ein gutes Tutorial?

  Alt 27. Mär 2007, 15:46
Naja mir ist das dann jetzt doch ein wenig zu aufwändig... habs zwar jetzt geschafft, mich einzuloggen, aber nicht die Session aufrecht zu erhalten. Mach das ganze jetzt mit dem TWebbrowser... der ist zwar um einiges langsamer, aber eben 1000x einfacher zu handeln.

Delphi-Quellcode:
procedure tform1.Login;
VAR
  Document: Variant;
BEGIN
  Document := Webbrowser1.Document;
  Document.forms.item(1).elements.item(1).value := 'Email@Email.de';
  Document.forms.item(1).elements.item(2).value := 'Passwort';
  Document.forms.item(1).submit();
end;
-> www.Phillsoft.de

Ich bin nun Mathematiker, aber meine Freundin bleibt trotzdem unberechenbar!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz