![]() |
IdCookiemanager Problem
Hallo,
ich hab ein kleines Problem mit dem IdCookieManager, wenn ich mit folgendem code einen post request mache und dann vom server weitergeleitet werde enthält der folgende request leider nicht mehr das vom server gesetzte cookie hat jemand eine idee wo das problem sein könnte?
Delphi-Quellcode:
var
IdHTTP: TIdHTTP; IdCookieManager: TIdCookieManager; PostDataStream : TStringStream; ParamData : TStringStream; begin //init components IdHTTP:= TIdHTTP.Create(nil); IdCookieManager:= TIdCookieManager.Create(nil); //settings IdHTTP.AllowCookies:= True; IdHTTP.CookieManager:= IdCookieManager; IdHTTP.HandleRedirects:= True; IdHTTP.ProxyParams.ProxyServer:= '127.0.0.1'; IdHTTP.ProxyParams.ProxyPort:= 8888; IdHTTP.Request.Connection:= 'Keep-Alive'; IdHTTP.Request.ContentType:= 'application/x-www-form-urlencoded'; IdHTTP.Request.UserAgent:= 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)'; PostDataStream := TStringStream.Create(''); ParamData := TStringStream.Create(''); //Parameter sind 1 zu 1 aus dem Orginal Header übernommen ParamData.WriteString('.....'); //Url und alle anderen nötigen Headerinformationen sind stimmig try IdHTTP.Post(Url, ParamData, PostDataStream); finally ParamData.Free; PostDataStream.Free; end; |
Re: IdCookiemanager Problem
Wirst Du auch auf den gleichen Server (gleiche URL), gleichen Port weitergeleitet?
...:cat:... |
Re: IdCookiemanager Problem
ich hab die header nun schon ein paar mal überprüft,
ich sehe da keinen gravierenden unterschied, außer dem fehlenden cookie die header schauen wie folgt aus: orginal post header
Code:
die weiterleitung
POST /form.php?id=123 HTTP/1.0
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/msword, application/x-gsarcade-launch, */* Referer: [url]http://www.domain.de/login.php?id=123[/url] Accept-Language: de,ar-kw;q=0.5 Content-Type: application/x-www-form-urlencoded User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322) Host: [url]www.domain.de[/url] Content-Length: 65 Pragma: no-cache
Code:
und nun meine beiden header:
GET /login.php?id=123 HTTP/1.0
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/msword, application/x-gsarcade-launch, */* Referer: [url]http://www.domain.de/login.php?id=123[/url] Accept-Language: de,ar-kw;q=0.5 User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322) Host: [url]www.domain.de[/url] Pragma: no-cache Cookie: logincheck=113045511001
Code:
POST /form.php?id=123 HTTP/1.0
Content-Type: application/x-www-form-urlencoded Content-Length: 65 Pragma: no-cache Host: [url]www.domain.de[/url] Accept: text/html, */* Referer: [url]http://www.domain.de/login.php?id=123[/url] User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
Code:
mal abgesehn von dem cookie unterscheiden sich die header nur dadurch das
POST /login.php?id=123 HTTP/1.0
Content-Type: application/x-www-form-urlencoded Content-Length: 65 Pragma: no-cache Host: [url]www.domain.de[/url] Accept: text/html, */* Referer: [url]http://www.ebesucher.de/login.php?id=123[/url] User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322) der zweite anstatt eines post ein get request ist, aber auch hier sollte doch eigentlich das cookie übergeben werden ich hab auch schon versucht HandleRedirects auf false zu setzen und den Get request der weiterleitung selbst zu tätigen, da das cookie aus dem ersten post request ja eigentlich im cookie manager enthalten sein müßte leider ohne erfolg :( |
Re: IdCookiemanager Problem
ich hab nun heut morgen noch ein wenig rumgespielt
und mir den inhalt des cookiemanagers ausgeben lassen:
Delphi-Quellcode:
das nötige vom server gesetzte cookie ist auf jeden fall
Memo1.Text:=IdCookieManager1.CookieCollection.Items[0].CookieText;
vorhanden, wird aber für die weiterleitung nicht genutzt :wiejetzt: kann mir jemand sagen wie ich das cookie nun in einen get oder post request stricke? |
Re: IdCookiemanager Problem
@ endeffects
und hast du das Problem inzwischen schon gelöst ? oder ist das immer noch ein Problem der Indys ? |
Re: IdCookiemanager Problem
naja ich hab die cookies in diesem fall
selbst nochmal ausgelesen, nachdem ich die automatische weiterleitung deaktiviert hatte, um sie dann an die ziel url zu übergeben ich muss dazu sagen das problem tritt relativ selten auf, woran es genau liegt weiß ich allerdings bis heute nicht |
Re: IdCookiemanager Problem
mmm das ging ja schnell mit der antwort, definiere mal bitte selber nochmal neu ausgelesen
|
Re: IdCookiemanager Problem
naaa ich hab den cookiemanager nach den entsprechenden
cookies durchsucht und diese dann verwendet ex: IdCookieManager1.CookieCollection.Items[0].CookieText; |
Re: IdCookiemanager Problem
ok IdCookieManager1.CookieCollection.Items[0].CookieText; gibt einen cookie aus nur wie willste das verwenden ? sorry aber der cookiemanager ist für mich ein böhmisches dorf, wurde hier viel nach gefragt aber nie vernünftig beantwortet
|
Re: IdCookiemanager Problem
naja wenn du weißt welches cookie du brauchst und du es dir aus
dem cookie manager geholt hast (String) kannst du dann wenn du einen neuen http request formst diesen string verwenden. Var Cookie: String; begin ... Cookie:= IdCookieManager1.CookieCollection.Items[0].CookieText; .. IdHTTP.Request.CustomHeaders.Add('Cookie:' + Cookie); IdHTTP.Get('Http://....'); ungetestet - aber so in etwa sollte das aussehen |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz