![]() |
idhttp login
hi leute,
ich möchte ein programm schreiben, dass sich auf ![]() nur scheitere ich schon am einloggen ich habe es mit diesem code probiert
Delphi-Quellcode:
aber dann erhalte ich die fehlermeldung "I/O handler value is not valid". ich weiß dass bei den indy komponenten I/O handler sind, aber welchen brauche ich und wozu brauche ich den??
var
params: TStringList; url: string; begin url:='https://secure.schuelervz.net/Login.php?action=login'; params := TStringList.Create; with params do begin Add('email='+edit1.text); Add('password='+edit2.text); end; idHTTP1.Post(url, params); params.free; end; |
Re: idhttp login
Du brauchst einen I/O handler, der SSL kann.
btw.: Hast du die Erlauabnis dafür? |
Re: idhttp login
okay habe jetzt den idssliohandlersocket genommen
jetzt kriege ich ne fehlermeldung, dass er die ssl library nicht laden konnte. ich habe zwei pcs einer am internet, an dem teste ich das programm geht ja sonst schlecht, und einer an dem ich programmiere liegt's daran? ich werde das programm nicht weitergeben und eigentlich macht das programm ja nur das was ich selbst auch machen könnte. es ist nur training für mich quasi ich programmiere meistens einfach nur zum spaß haben ich stelle mir selbst aufgaben und versuche diese zu lösen. ich denke also nicht dass ich eine genehmigung dafür brauche wenn, doch belehrt mich eines besseren |
Re: idhttp login
Hm, OpenSSL installiert? (kp warum)
Ansonsten grad mal Assertor, der kennt sich meines Wissens bestens mit SSL und indy aus. |
Re: idhttp login
Hi meama,
im Forum VCL/WinForms/Controls findest Du einen Sticky Thread: ![]() Direktlink: ![]() Installier Dir mal die DLLs. Aber: Wie bereits angesprochen verstößt Du damit, egal ob bei Dir genutzt oder woanders, sicherlich gegen die Nutzungsbedingungen des Portal-Betreibers. Da kann ich nicht viel helfen, damit ich nicht als Mitstörer in die Haftung komme ;) Gruß Assertor |
Re: idhttp login
Hi,
hab nicht viel zeit aber guck mal hier: ![]() MfG Carlo |
Re: idhttp login
@assertor: vielen dank. es ist nur leider ein neues problem aufgetreten, er sagt er konnte keine verbindung zu ssl aufbauen....einstellungsproblem?
erlaubnis anfrage beim support von schülervz läuft. edit: hast sogar recht :wink: auszug aus den agbs: Zitat:
@carlo91: hab mir deinen lösungsvorschlag gedownloadet, beim kompilieren sagt er aber, dass in der procedure vom einloggen button das posEX ein unidentifizierter bezeichner ist. weißt du warum, ich meine bei dir wird es ja wohl geklappt haben oder? |
Re: idhttp login
Ich habe mal ein Beispiel, für IdHTTP + SSL + Cookies
und bitte benutzt keine Stringlist zum Posten da wird aus dem "+" ein Leerzeichen " " etc. Sonderzeichen... Immer schön "TIdMultiPartFormDataStream" benutzen. Hinweis: Wenn du die Indy10 Komponenten benutzt musst du noch was abändern, ich habe es schon wieder vergessen was es war... Findest du aber hier im Forum. Du merkst es daran wenn eine Fehlermeldung von wegen Timeout Fehler kommt.
Delphi-Quellcode:
Du benötigst im Ordner die "libeay32.dll" und "ssleay32.dll" DLL.
uses IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
IdHTTP, IdIOHandler, IdIOHandlerSocket, IdIOHandlerStack, IdSSL, IdSSLOpenSSL, IdMultipartFormData, IdCookieManager; // [...] PROCEDURE Login(LoginName,LoginPassword:String); VAR IdHTTP:TIdHTTP; Params:TIdMultiPartFormDataStream; IdSSLIOHandlerSocketOpenSSL:TIdSSLIOHandlerSocketOpenSSL; IdCookieManager:TIdCookieManager; GetList:TStringList; BEGIN IdHTTP := TIdHTTP.Create(NIL); GetList := TStringList.Create; IdCookieManager := TIdCookieManager.Create(NIL); IdSSLIOHandlerSocketOpenSSL := TIdSSLIOHandlerSocketOpenSSL.Create(NIL); Params := TIdMultiPartFormDataStream.Create; TRY IdSSLIOHandlerSocketOpenSSL.SSLOptions.Method := sslvSSLv23; IdSSLIOHandlerSocketOpenSSL.SSLOptions.Mode := sslmUnassigned; IdHTTP.IOHandler := IdSSLIOHandlerSocketOpenSSL; IdHTTP.CookieManager := IdCookieManager; // Cookies man kann ja nie wissen IdHTTP.AllowCookies := TRUE; Params.AddFormField('username', UTF8Encode(LoginName)); // UTF8Encode - kommt auf die Seite an meistens nicht! Params.AddFormField('password', UTF8Encode(LoginPassword)); GetList.Text := IdHTTP.Post('', Params); // Login auswerten ob login geklappt hat z.b. von RS IF NOT (Pos('The Account has been found, but the password is incorrect.',GetList.Text) = 0) THEN BEGIN ShowMessage('The Account has been found, but the password is incorrect.'); Exit; END; // wenn man noch eine Unterseite ansteuern möchte FreeAndNil(Params); // die Postparameterliste löschen Params := TIdMultiPartFormDataStream.Create; // Seite wechseln etc. FINALLY // Freigeben FreeAndNil(Params); IdSSLIOHandlerSocketOpenSSL.Free; IdCookieManager.Free; GetList.Free; IdHTTP.Free; END; END; Grüße |
Re: idhttp login
Zitat:
Bau dir die Funktion doch einfach nach, Beispiele wirst du sicherlich hier in der DP finden |
Re: idhttp login
okay leute die sache hat sich erledigt, hab keine genehmigung von schülervz gekriegt.
ich habe sogar nen "guten" rat bekommen Zitat:
ich glaube die diskussion ginge jetzt etwas am thema vorbei, deshalb CLOSED |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:32 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