AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

idHTTP.Post geht nicht

Ein Thema von sh0xXer · begonnen am 25. Dez 2010 · letzter Beitrag vom 25. Dez 2010
Antwort Antwort
sh0xXer

Registriert seit: 25. Mär 2010
Ort: Berlin
3 Beiträge
 
#1

idHTTP.Post geht nicht

  Alt 25. Dez 2010, 15:15
Hallo

Ich wollte mir ein kleines Tool schreiben um mir das Leben ein wenig zu erleichtern.. Allerdings scheitere ich beim Login auf eine Seite.

Mit dem FF-Addon Live HTTP Headers kam folgendes raus:


Code:
http://seite.com/

POST / HTTP/1.1
Host: seite.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; de; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Cookie: PHPSESSID=ce93ce360191efb3f57288d8db3cXXX
Content-Type: application/x-www-form-urlencoded
Content-Length: 56
username=ZENSIERT&password=ZENSIERT&login=&captcha=Captcha
Nun stellt sich mir die Frage: Wie logge ich mich dort ein, auf der Seite?

Habe es mit:

Code:
procedure TForm1.Button1Click(Sender: TObject);
var slLogin: TStringList;
begin
slLogin:=TStringList.Create();
slLogin.Add('?username=' + edNick.text);
slLogin.Add('&password=' + edPW.text);
slLogin.Add('&login=&captcha=Captcha');
try
idHTTP1.Post('http://seite.com/', slLogin);
finally
slLogin.Free;
end;
end;
probiert, er gibt mir auch keinen Fehler etc. aus, aber der Login scheint nicht erfolgreich zu sein (da der Schritt danach, der 100% klappt, nicht ausgeführt wird).

Was mich verwirrt ist, dass es keine login.php oder ähnliches gibt, sondern nur das / danach kommt.

Freue mich über Hilfe

PS: Nur die seite durch "Seite" ersetzt, rest ist original.
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#2

AW: idHTTP.Post geht nicht

  Alt 25. Dez 2010, 19:22
Hallo,

gleich vorweg: Beachte die AGB der Website, denn oftmals ist ein automatischer Login nicht zulässig. Sonst kannst du richtig Ärger bekommen.
Da mein Delphi mal wieder brutal rumzickt (vielleicht muss mal ein XE her), hier ungetesteter Code:
Delphi-Quellcode:
procedure TForm1.Login;
var
  slLogin: TStringList;
begin
  slLogin := TStringList.Create;
  try
    slLogin.Values['username'] := edNick.text;
    slLogin.Values['password'] := edPW.text;
    slLogin.Values['login='] := ''; // kannst auch eglassen, nehme ich an
    slLogin.Values['captcha'] := 'Captcha';

    IdHTTP1.Post('http://seite.com/', slLogin);
  finally
    FreeAndNil(slLogin);
  end;
end;
Eine login.php muss es nicht geben. Es kann auch sein, dass z.B. die index.php den Login durchführt. Diese wird meist aufgerufen, wenn keine PHP-Datei angegeben wird. Das lässt sich natürlich auch ändern und es können auch andere Dateien wie index.php5 o.ä. sein.

Geändert von Matze (25. Dez 2010 um 19:25 Uhr)
  Mit Zitat antworten Zitat
sh0xXer

Registriert seit: 25. Mär 2010
Ort: Berlin
3 Beiträge
 
#3

AW: idHTTP.Post geht nicht

  Alt 25. Dez 2010, 20:15
Danke schonmal für die Antwort

Habe deinen Code gerade getestet, funktioniert jedoch immernoch nicht.

Habe, um herauszufinden ob es klappt, einmal vor dem einloggen den Quelltext geholt und nach dem "einloggen", beide identisch.

Schade, danke trotzdem für die Hilfe.

Kleine Frage noch: Muss man bei einer TStringList nicht die "&" bzw. als erstes das "?" einfügen?

Grüße
sh0xX
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#4

AW: idHTTP.Post geht nicht

  Alt 25. Dez 2010, 20:33
Normalerweise muss man das nicht.
Der erste Parameter ist generell vom "?" von der URL getrennt, alle weiteren durch ein "&". Die könntest du auch beliebig vertauschen.

Das nur, damit du weißt, dass diese Trennzeichen nicht "fest" sind. Bzw. es gibt auch Situationen, bei denen die Reihenfolge der Parameter fest sein muss, aber das ist sehr selten der Fall.
  Mit Zitat antworten Zitat
sh0xXer

Registriert seit: 25. Mär 2010
Ort: Berlin
3 Beiträge
 
#5

AW: idHTTP.Post geht nicht

  Alt 25. Dez 2010, 20:49
Ah okay, danke

Ich dachte die müsste man immer mit eingeben (habe mich damit noch nie so wirklich beschäftigt, immer nur mal so ein wenig benutzt, sofern es um Seiten mit z.B. einer login.php ging war dies bisher auch kein Problem.

Ich versuche einfach noch ein wenig rum, vielleicht schaff ich mit etwas glück ja den Login
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 14:48 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