Entwickler-Ecke

Internet / Netzwerk - Probleme mit IdHTTP?


bruce185 - Sa 18.12.10 20:47
Titel: Probleme mit IdHTTP?
Hallo,
ich hab mal versucht mich mit IdHTTP auf hotmail.de anzumelden, leider bekomme ich folgende Quellcode zurück:

Quelltext
1:
2:
3:
4:
5:
WindowsLive ID
Aktualisieren Sie Ihren Browser
Bevor Sie sich bei Windows Live ID-Sites und -Diensten anmelden k�nnen, m�ssen Sie Ihren Browser aktualisieren. Wenn Sie Microsoft Internet Explorer verwenden, k�nnen Sie die aktuelle Version installieren. Rufen Sie die Internet Explorer-Website auf.

Wenn Sie einen anderen Browser verwenden, aktualisieren Sie ihn auf die neueste Version.


Ich experimentiere ein bisschen mit den Indy-Komponenten rum und möchte das mal versuchen.
Gibt es Vielleicht eine möglichkeit das Problem zu umgehen?

Vielen Dank schonmal.

MfG


jaenicke - Sa 18.12.10 21:05

Das geht nicht mit vertretbarem Aufwand. Die Anmeldung und alles andere läuft dort über Skripte. Dementsprechend müsstest du diese Einzelaktionen nachvollziehen und selbst machen.

Ohne Skripte geht die Seite vielleicht auch, dann reicht es, wenn du einen bekannten Browser als User Agent angibst. Denn darüber stellt der Server fest, ob der Browser geeignet ist.


bruce185 - Sa 18.12.10 21:23

Danke.
Das habe ich auch schon versucht, aber dann erhalte ich diese fehlermeldung:

Delphi-Quelltext
1:
Project Project1.exe raised exception class EIdSocketError with message 'Socket Error # 0'                    


Hier ist mal mein Code:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
IdHTTP1.CookieManager := IdCookieManager1;
  IdHTTP1.AllowCookies := true;
  IdHTTP1.Request.Host := 'evsecure-ocsp.verisign.com';
  IdHTTP1.Request.ContentType := 'application/ocsp-request';
  IdHTTP1.Request.Connection:='Keep-Alive';
  IdHTTP1.Request.UserAgent := 'Mozilla/5.0 (Windows; U; Windows NT 6.1; de; rv:1.9.2.13) Gecko/20101203 YFF35 Firefox/3.6.13';
  IdHTTP1.Request.Accept := 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
  IdHTTP1.Request.AcceptLanguage := 'de-de,de;q=0.8,en-us;q=0.5,en;q=0.3';
  IdHTTP1.Request.AcceptCharSet := 'ISO-8859-1,utf-8;q=0.7,*;q=0.7';
  Quelltext := IdHTTP1.Post('https://login.live.com/login.srf?wa=wsignin1.0&rpsnv=11&ct=1292375029&rver=6.1.6206.0&wp=MBI&wreply=http:%2F%2Fmail.live.com%2Fdefault.aspx&lc=1031&id=64855&mkt=de-de&cbcxt=mai&snsc=1', Params);
  WB_LoadHTML(WebBrowser1,Quelltext);


MfG


jaenicke - Sa 18.12.10 21:31

Ich vermute auch, dass das so kaum klappt.
user profile iconbruce185 hat folgendes geschrieben Zum zitierten Posting springen:

Delphi-Quelltext
1:
  WB_LoadHTML(WebBrowser1,Quelltext);                    
Wenn du den TWebBrowser nutzt, könntest du allerdings alles darin machen.

Ich habe das doch aber richtig verstanden: Es geht dir um Experimente mit Indy (weil Zugriff auf Hotmail geht auf normalem Weg natürlich einfacher)? Da suchst du dir am besten einfach eine andere Seite, die keine Skripte benutzt. :nixweiss:


bruce185 - Sa 18.12.10 21:40

Danke.
Hab mal versuchen wollen über IdHTTP mich auf die schnellste möglichkeit einzuloggen um eine beliebige Readme zu speichern über mein Programm, deshalb wollte ich das ganze über IdHTTP machen.

Ich werde Vielleicht eine andere möglichkeit finden, wenn nicht, dann lass ich es ambesten.

Danke Dir trotzdem für die Hilfe.

MfG


jaenicke - Sa 18.12.10 21:48

user profile iconbruce185 hat folgendes geschrieben Zum zitierten Posting springen:
Hab mal versuchen wollen über IdHTTP mich auf die schnellste möglichkeit einzuloggen um eine beliebige Readme zu speichern über mein Programm
Öh, wie meinen?
Was willst du speichern und wo? :gruebel:

Eine Readme aus dem Internet herunterladen? Umgekehrt?


bruce185 - Sa 18.12.10 23:38

Damit meinte ich die Statusnachricht von MSN, hab mir einfach mal überlegt über ein Programm die Nachricht zu ändern oder zu entfernen.

Edit: Ich habe jetzt bei IdSSLIOHandlerSocketOpenSSL1>SSLOptions>Method [sslvSSLv2] ausgewählt und nun geht es jetzt, nur bekomme ich jetzt eine Meldung, dass Coockies zugelassen werden müssen.
Wie mache ich das ambesten mit den Coockies?

Vielen Dank schonmal.

MfG


jaenicke - So 19.12.10 01:09

Du musst nicht nur Cookies zulassen, sondern auch einen CookieManager erstellen und der Komponente zuweisen.


bruce185 - So 19.12.10 01:16

Coockie Manager habe ich ja auf meiner Form, wie man es auch im Quellcode hier sehen kann wo ich es der IdHTTP zuweise:

Delphi-Quelltext
1:
IdHTTP1.CookieManager := IdCookieManager1;                    


Ich werde mal kucken wie ich das ambesten machen kann.

Vielen Dank.

MfG


jaenicke - So 19.12.10 01:58

Stimmt, das habe ich irgendwie komplett übersehen. :gruebel:

Ich rate einmal: Du könntest AcceptRedirect oder so ähnlich auf True stellen, vielleicht wird eine Weiterleitung versucht. Aber sonst keine Ahnung was da vielleicht noch gemacht werden muss.


bruce185 - So 19.12.10 02:12

Danke Dir.
Das ist schon auf True.
Hier sind mal die Response-Header Daten von hotmail.de, die ich gesnifft habe:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
(Status-Zeile)  HTTP/1.1 200 OK
Cache-Control  no-cache
Connection  close
Date  Sat, 18 Dec 2010 23:20:13 GMT
Pragma  no-cache
Content-Type  text/html; charset=utf-8
Expires  Sat, 18 Dec 2010 23:19:13 GMT
Server  Microsoft-IIS/6.0
PPServer  PPV: 30 H: BAYIDSLGN1J39 V: 0
P3P  CP="DSP CUR OTPi IND OTRi ONL FIN"
X-XSS-Protection  0
Set-Cookie  MSPOK= ; expires=Thu, 30-Oct-1980 16:00:00 GMT;domain=login.live.com;path=/;HTTPOnly= ;version=1
Set-Cookie  PPAuth=AWvKgFGlJusJDb3HVe1v8xQ7QOBRrLd7YtZXfffUZ6eoyCddBjxFFvCn2EjuneRY9N6qB*bVxTQqcYWFoZmeU8CaZcSRU4mnpHxWE8KzxpEesCUb0hSHPHNZ!1C58I5DqV7yYQ39QlVSNjbVJHWS6A9sHUgeJXfn658BARTC9Ngfe*OH7k9daX25f5vWXOICbDHZcfJxt*1VJetFRbGlYC4jEUNqTptsT8oa8Kg$; domain=login.live.com;secure= ;path=/;HTTPOnly= ;version=1
Set-Cookie  PPLState=1; domain=.live.com;path=/;version=1
Set-Cookie  MSPShared= ; HTTPOnly= ; domain=login.live.com;path=/;Expires=Thu, 30-Oct-1980 16:00:00 GMT
Set-Cookie  MSPCID=1fa1b78e565f8680; HTTPOnly= ; domain=login.live.com;path=/;Expires=Wed, 30-Dec-2037 16:00:00 GMT
Set-Cookie  WLOpt=otcjs=1&credtype=1&act=[1][5];domain=login.live.com;path=/;Expires=Wed, 30-Dec-2037 16:00:00 GMT
Set-Cookie  RPSTAuth=EwDgARAnAAAUWkziSC7RbDJKS1VkhugDegv7L0eAAPedZ3baI51xWhV2ZTViR+JdX3cntvRhJtxIoasIlvJEp356SdxvY9fhAxXYhqGUD86FQZ6ozTJrZHHy0m6B6Bx/9f2V4uKJTKWq1e4sZpOle4+O6wxjTLVvsrlJq2h2lJu2Z9py3zfu2Fn4A5TI4MOnablByalxc21DQFJ7X5GCA2YAAAhI4sUlEY8U+jABs7iFu5DR3ki3f7GTvmgU0wlp0sGFCfXRGMN8JtzqLYjDg07a1UpoDhE6C5qlQwncVEOr8n4RAopZ59wyw0GZpIu9rMS2oZd6+fL5UBhDhGj+d/HS338C8/RQAigxZvs24ymFyvZozIB9jQld9eedd9tnJ9Xrt6r5iy1JEks4uM6dw/Tw4MKg0CsmYbDAthO0q4oQOgFxIWjYhO2/yGrT09GT6DY7mTyPFFU9+DYh3VryA83IjzOc0MTrIkjqGzfWr1d7mDumhyOM9VNA+mB6Vr0SbBBFQsKvSpH+Cx6/Vnaw3g9hJ01dFKXDQMfCPKr8Zw3lKfghKwpTgsHrX3JPsdfI39zhQ5iJBIqU6Wd4I8s/fXCdWVwjs9nwrulwXHqaD7Glw8cBbkkR+kFk5MEF7l8B; domain=.live.com;path=/;HTTPOnly= ;version=1
Set-Cookie  RPSTAuthTime=1292714413; domain=login.live.com;path=/;HTTPOnly= ;version=1
Set-Cookie  MSPAuth=2lHFafS8uD**aACFz9AwjoDzUI4q82p2YlhwTPqlpkgzyz*hpHonRjk4qMgNSutMqem5q9MROxJKeDBMgGIYjSfrZHLzu0Ni0i1HJUK*sraH47TL0a36iDZywycakGIBoS; domain=.live.com;path=/;HTTPOnly= ;version=1
Set-Cookie  MSPProf=2oE2S5hQFERy1GXdw38ZR9cboDN9ja64k6hRp1a61XF!8RTnpif9t6svGxmBMCMFvEVMtBuZpH3HbOEqAZ6dRs9ZHxld*1wV9Ds18v7j3Vj9*rgTWVa6iu1bSFiUuFf19HZOagfaqLdq8zt6dsJ93yVoKTYDnURR3fR16aS25A0d993HK7mI2HpZh*J1DwuoQc; domain=.live.com;path=/;HTTPOnly= ;version=1
Set-Cookie  MSNPPAuth=Cd!1*N1oqY6eD1b8!!Zgq*lF*BIOXzOxrnW1HlpbLLk2t9chrvBLxUCpD9Zvl8jzXdbM5s6Fiyx17FLssx*WRUrTFY0C3TcyROJSCsWh5ZXBnL1YN2!O704DfBNT0KdMKrQ1sBIGstd*JbL*dXoUH*rPFdtfLsNA1zfWx1U6!aYrF!NOfiPa8Eo4QE63jkZqIkzCxwSdLnyOypGAlTBksJ7NI1HkWAhcEZT*JI0!lmQyaNPZZ06cxSwMJZpFFJbG3Zbini9AFSVWrVm5tBcmXU*YKH4vtk61cQTFw34g!cBNh3r6xws5xWcbN7LJ*uijT0E*7YhMklpeFqHyyUbMHgS7Sn1*qB8oBHTd0vN43N!uew0aiIKkuZNdMCTRP4c!kPASxhO1notWfQ5XKGrOE71cRfK8P0x4WqgrDOiuq6hyXxIS8AwptADjf2UanumiaBeZTTWUsji8Ch430l2yDqhmXC16Tkx3yRAJDZc$; domain=.live.com;path=/;HTTPOnly= ;version=1
Set-Cookie  MH=MSFT; expires=Wed, 30-Dec-2037 16:00:00 GMT;domain=.live.com;path=/;version=1
Set-Cookie  MHW=; expires=Thu, 30-Oct-1980 16:00:00 GMT;domain=.live.com;path=/;version=1
Set-Cookie  MHList=; expires=Thu, 30-Oct-1980 16:00:00 GMT;domain=.live.com;path=/;version=1
Set-Cookie  NAP=V=1.9&E=a45&C=kYLliPmYPjt6JNNES7PgSkmjLjdirJZrX4ZY96L1oQENe454Wh1oVA&W=1;domain=.live.com;path=/;Expires=Tue, 29-Mar-2011 06:20:13 GMT
Set-Cookie  ANON=A=983A682AF9793CDCC77DA482FFFFFFFF&E=a9f&W=1;domain=.live.com;path=/;Expires=Thu, 07-Jul-2011 06:20:13 GMT
Set-Cookie  MSPVis=$9;domain=login.live.com;path=/
Set-Cookie  pres=; expires=Thu, 30-Oct-1980 16:00:00 GMT;domain=.live.com;path=/;version=1
Set-Cookie  LOpt=1; domain=login.live.com;path=/;version=1
Set-Cookie  MSPSoftVis=@72198325083833620@:@; domain=login.live.com;path=/;version=1
Content-Encoding  gzip
Vary  Accept-Encoding
Transfer-Encoding  chunked


Die Cookies muss ich ja bei CookieManager hinzufügen oder?
Ich hab das versucht, leider ohne erfolg.

MfG


jaenicke - So 19.12.10 03:02

Also wenn da nur eine Antwort zurückkommt, dann muss Hotmail schon beim ersten Aufruf die Cookies vermisssen. Du rufst also eine Loginseite auf, die bereits nicht die erste ist, die der Benutzer aufruft.

Du musst das schon der Reihe nach so machen als ob du normal auf die Seite gehst. Nur dann bekommst du die entsprechenden Cookies auch mit...
Da die Seite hier ja Cookies setzt, könnte auch ein erneuter Aufruf gehen, keine Ahnung. :nixweiss:


bruce185 - Di 21.12.10 22:54

Danke Dir.
Ich lese jetzt erstmal hotmail.de aus und im CookieManager befindet sich dann nur 1 Cookie Text, diese ich mit:

Delphi-Quelltext
1:
IdCookieManager1.CookieCollection.Items[i].CookieText                    

auslese.

Hier der Cookie Text:

Quelltext
1:
MSPRequ=lt=1292963900&co=1&id=64855; path=/; domain=.login.live.com; version=1                    


Wie kann ich jetzt bei IdHTTP Cookies hinzufügen?
Ich benutze Delphi 2010 und habe das mal so versucht:

Delphi-Quelltext
1:
IdHTTP1.CookieManager.AddCookie('MSPRequ=lt=1292963900&co=1&id=64855','login.live.com');                    

bei Delphi 2010 geht das nicht, ich erhalte folgende fehlermeldung:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
Checking project dependencies...
Compiling Project1.dproj (Debug configuration)
[DCC Error] Unit1.pas(316): E2010 Incompatible types: 'TIdURI' and 'string'
[DCC Fatal Error] Project1.dpr(5): F2063 Could not compile used unit 'Unit1.pas'
Failed
Elapsed time: 00:00:00.6


Wie kann ich bei Delphi 2010 Cookies hinzufügen bei CookieManager?

Danke schonmal.

MfG


jaenicke - Di 21.12.10 23:36

Du kannst einfach den selben CookieManager benutzen. Wenn du das selbe TIdHttp-Objekt für den vorherigen Aufruf benutzt, sollte der CookieManager alles von alleine machen.


bruce185 - Mi 22.12.10 00:26

Danke.
Aber irgendwie bekomme ich immer eine Meldung das Cookies zugelassen werden müssen.
Ich muss ja die Cookies hinzufügen oder?

Ich hab das auch mal so versucht:

Delphi-Quelltext
1:
2:
u := TIdURI.Create('login.live.com');
IdCookieManager1.AddCookie('MSPRequ=lt=1292963900&co=1&id=64855',u);

ist das überhaupt so richtig?

Edit: Der HTML-Code, der zurück kommt, lasse ich testweise mal in WebBrowser anzeigen.
Ich hab mal ein Screen von meinem Programm gemacht und im anhang hochgeladen.
Irgendwie akzeptiert er über IdHTTP keine Cookies, wie könnte man das problem jetzt umgehen?

MfG


bruce185 - Mi 22.12.10 22:18

Es ging die ganze Zeit mit den Cookies, habe ich gerade herausgefunden, nur halt bei mir in WebBrowser sind keine Cookies aktiviert.

Wenn ich den Quellcode in Mozilla Firefox ankucke, der zurück kommt, dann steht da, das ein Password erforderlich ist.
Wie schicke ich ambesten die Logindaten über Post?
Mit TStringList oder IdMultiPartFormData?
Weil irgendwie steht im Quellcode immer das ein Password erfolderlich ist.

Danke schonmal.

MfG


jaenicke - Do 23.12.10 06:43

Da du nur Strings zum Posten hast, kannst du eine einfache TStringList nehmen.

Ja, wenn du Cookies im Internet Explorer deaktiviert hast, gilt das natürlich auch für TWebBrowser. Wenn das aber daran liegt, muss da beim Aufruf des Codes eine Weiterleitung oder Skriptausführung passieren. Denn sonst würde sich das nicht auswirken.


bruce185 - Do 23.12.10 17:14

Danke Dir.
Mit TStringList funktioniert das garnicht, da steht dann immer das ein Kennwort erforderlich ist und wenn ich TIdMultiPartFormDataStream verwende, dann steht da immer "Die E-Mail-Adresse oder das Kennwort ist falsch. Wiederholen Sie den Vorgang."


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
Params.AddFormField('login',edtEmail.Text);
Params.AddFormField('passwd',edtPassword.Text);
Params.AddFormField('mest','');
Params.AddFormField('type','11');
Params.AddFormField('LoginOptions','2');
Params.AddFormField('NewUser','1');
Params.AddFormField('MEST','');
Params.AddFormField('PPSX',PPSX);
Params.AddFormField('PPFT',PPFT);
Params.AddFormField('idsbho','1');
Params.AddFormField('PwdPad','');
Params.AddFormField('sso','');
Params.AddFormField('i1','1');
Params.AddFormField('i2','2');
Params.AddFormField('i3','25738');
Params.AddFormField('i4','');
Params.AddFormField('i12','1');
Quelltext := HTTP.Post(PostURL,Params);


Habe die Email und das Passwort überprüft, ist also kein fehler drin.

Woran könnte der fehler liegen?

MfG


jaenicke - Do 23.12.10 17:40

Schau doch einfach einmal im Browser nach, was bei einer normalen Anmeldung alles passiert.

Im IE geht das mit den integrierten Tools, einfach F12 drücken, dann unter Netzwerk auf die Anforderung doppelklicken. Da steht ganz detailliert alles drin, Cookies, Postdaten, alles.

Bei Chrome, Opera und Safari sind wohl auch ähnliche Tools dabei, aber ich glaube die zeigen das nicht oder nicht so detailliert.

Firefox kann das von Hause aus gar nicht, da musst du dir ein Addon wie FireBug oder HttpFox holen. (Leider gibt es kein so gutes Addon fürs Skriptdebugging wie die integrierten von Chrome und IE.)


bruce185 - Do 23.12.10 18:03

Die Daten habe ich ja aus Mozilla Firefox mit dem Tool HttpFox ausgelesen.

Ich werde es einfach später nochmal versuchen.

Trotzdem Danke.

MfG


bruce185 - Fr 24.12.10 03:05

Hallo nochmal,
kann es Vielleicht daran liegen, dass ich keine Cookies gesetzt habe beim Login und deswegen immer die Meldung bekomme "Die E-Mail-Adresse oder das Kennwort ist falsch. Wiederholen Sie den Vorgang."?

Edit: Weil durch die Weiterleitung verliere ich doch wieder die Logindaten wenn keine Cookies gesetzt sind oder?

MfG


bruce185 - Do 30.12.10 21:27

Hallo nochmal,
ich hab mal testhalber versucht mich bei wer-kennt-wen.de einzuloggen, da diese ja auch über SSL verbindung funktioniert.
Alles funktioniert soweil, nur ab dem zweiten aufruf von IdHTTP.Get oder IdHTTP.Post bekomme ich folgende fehlermeldung:

Delphi-Quelltext
1:
HTTP/1.0 403 Forbidden.                    


Wie kann ich das Problem umgehen?

Danke schonmal.

MfG


bruce185 - Fr 31.12.10 18:19

Weiss denn keiner ne lösung?
Ich denke mal, weil IdHTTP das Protokoll HTTP/1.0 verwendet, wie kann ich Protokoll HTTP/1.1 verwenden?

MfG


jaenicke - Fr 31.12.10 19:14

user profile iconbruce185 hat folgendes geschrieben Zum zitierten Posting springen:
Ich denke mal, weil IdHTTP das Protokoll HTTP/1.0 verwendet, wie kann ich Protokoll HTTP/1.1 verwenden?
Wenn du in die Statuscodedefinitionen des W3C geschaut hättest, dann hättest du dort gelesen, dass das damit nichts zu tun hat. Der Server hat die Anfrage durchaus verstanden, er weigert sich aber. Weil die Autorisation fehlt. Und dieser Statuscode sagt, dass eine Standardauthentifizierung hier nicht ausreicht. Klar, es muss ja auch ein Login erfolgen.

Heißt:
Du rufst das Seiten auf, die bereits vorher einen Login erfordern.


bruce185 - Fr 31.12.10 19:58

Danke Dir.
Aber irgendwas stimmt da nicht, hab das mal so versucht:

Delphi-Quelltext
1:
2:
3:
Quelltext := IdHTTP.Post('https://secure.wer-kennt-wen.de/login/index',Params);
Quelltext := IdHTTP.Get('http://www.wer-kennt-wen.de');
Quelltext := IdHTTP.Post('https://secure.wer-kennt-wen.de/login/index',Params);


damit ging es einmal, nachdem ich mein Programm nochmal neu geöffnet habe und nochmal versucht habe, dann bekomme ich wieder diesen fehler.

MfG


jaenicke - Fr 31.12.10 20:02

Ich müsste mir das irgendwann mal anschauen, aber ich habe zu wenig Zeit. Fehlen tut da ja noch die Behandlung des Inhalts. Nacheinander so aufrufen geht nicht immer, weil da manchmal Session-IDs oder so benötigt werden usw.


bruce185 - Fr 31.12.10 20:43

Danke.
Werden die Sessions nicht automatisch hinzugefügt?
Hier mal die Postdaten aus FireFox:


Quelltext
1:
2:
3:
4:
5:
loginName          *****************
pass               *****************
x                  30
y                  7
logIn              1


Request Header:

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
(Request-Zeile)   POST /login/index HTTP/1.1
Host            secure.wer-kennt-wen.de
User-Agent   Mozilla/5.0 (Windows; U; Windows NT 6.1; de; rv:1.9.2.13) Gecko/20101203 YFF35 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
Referer            http://www.wer-kennt-wen.de/
Cookie            __utma=171430438.851816188.1293630997.1293741758.1293819175.5; __utmz=171430438.1293630997.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); WKWSID=1203; WKWSESSID=32016f562ac66dd9c3719c040163f6c1; __utmb=171430438.1.10.1293819175; __utmc=171430438; __utmv=
Content-Type   application/x-www-form-urlencoded
Content-Length   65


Response Header:

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
(Status-Zeile)   HTTP/1.1 302 Found
Server            nginx
Date            Fri, 31 Dec 2010 18:13:09 GMT
Content-Type   text/html
Connection   keep-alive
P3P            CP="CAO OUR"
Expires            Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control   no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma            no-cache
Set-Cookie   WKWSESSID=2dd8971d9edcbd5e4466a6815b779545; path=/; domain=.wer-kennt-wen.de
Location            http://www.wer-kennt-wen.de/start
Content-Length   0


und hier mal mein Code:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
var
  Quelltext: string;
  Params: TStringList;
begin
  LoadOpenSSLLibrary;

  Params := TStringList.Create;

  //Postdaten hinzufügen
  Params.Add('loginName='+edtEmail.Text);
  Params.Add('pass='+edtPassword.Text);
  Params.Add('logIn=1');

  IdHTTP.Request.Host := 'secure.wer-kennt-wen.de';
  IdHTTP.Request.UserAgent := 'Mozilla/5.0 (Windows; U; Windows NT 6.1; de; rv:1.9.2.13) Gecko/20101203 YFF35 Firefox/3.6.13';
  IdHTTP.Request.Accept := 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
  IdHTTP.Request.AcceptLanguage := 'de-de,de;q=0.8,en-us;q=0.5,en;q=0.3';
  IdHTTP.Request.AcceptEncoding := 'gzip,deflate';
  IdHTTP.Request.AcceptCharSet := 'ISO-8859-1,utf-8;q=0.7,*;q=0.7';
  IdHTTP.Request.Connection := 'keep-alive';
  IdHTTP.Request.Referer := 'http://www.wer-kennt-wen.de/';
  IdHTTP.Request.ContentType := 'application/x-www-form-urlencoded';
  IdHTTP.Request.ContentLength := 65;

  Quelltext := IdHTTP.Get('http://www.wer-kennt-wen.de');
  Quelltext := IdHTTP.Post('https://secure.wer-kennt-wen.de/login/index',Params);

  Params.Free;


Falls jemand Zeit hat und mir eventuell helfen könnte, wäre ich sehr dankbar dafür.

MfG


bruce185 - So 02.01.11 08:14

Hallo nochmal,
bei den Post Daten werden auch 2 Werte gesendet, x und y, diese jedoch nicht im Quelltext auf der Startseite von wer-kennt-wen.de zusehen ist.
Die Werte x und y sind immer anders und ich weiss nicht, wie ich diese auslesen soll, da diese nicht zufinden sind.

Wenn ich HttpFox von Mozilla FireFox verwende, werden diese Daten x und y auch mit gesendet, sobald ich mich einlogge.
Mir ist auch aufgefallen, wenn ich mich einlogge und sofort den HttpFox Stoppe, dann sind die Werte x und y auf 0, wenn ich HttpFox wieder starte und mich einlogge und es fertig laufen lasse, dann sind die Werte x und y befüllt.
Werden diese Werte erst irgendwo bei der Weiterleitung gesendet oder so?

Ich denke, dass es was damit zu tun hat oder?

MfG