Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi HTTP Authentifizierung (https://www.delphipraxis.net/135821-http-authentifizierung.html)

peter001 18. Jun 2009 13:12


HTTP Authentifizierung
 
Hallo!

Suche hat mir keine Antworten gebracht, daher die Frage an euch:
ich möchte per POST Daten an ein php script senden. Das bekomme ich hin, gibt ja auch schon Themen darüber.

Wie verhält es sich aber wenn das Script hinter einem Zugangsschutz steht, man sich erst mit Usernamen und Passwort authentifizieren muss bevor man das script abrufen darf? Wie bekomme ich das im Zuge der Datenversendung in Delphi (7) hin?

lou_cyfer 18. Jun 2009 13:31

Re: HTTP Authentifizierung
 
Hi Peter,
Ich hab da mal bei der ieee-org sehr lange rumprobiert. Der genaue syntax ist auch serverabhängig denke ich.

bei mir funktionierts so: (USERNAME/PASSWORD entsprechend ersetzen)

---- schnip ----
IdHTTP.Request.ContentType:='application/x-www-form-urlencoded';
Application.ProcessMessages;

GET_SEND := TStringStream.Create('');
GET_BACK := TStringStream.Create('');
GET_SEND.WriteString('id=USERNAME&password=PASSWOR D');
GET_BACK.WriteString('');

IdHTTP.Post('http://ieeexplore.ieee.org/servlet/Login',
GET_SEND,
GET_BACK);
GET_SEND.Position := 0;
Application.ProcessMessages;
---- schnip ----

IdHTTP war aus der Indy9.0.18 lib

happy hacking,
lou

Fridolin Walther 18. Jun 2009 13:33

Re: HTTP Authentifizierung
 
Ich gehe davon aus Du benutzt die Indy Komponenten? Wenn ja siehe mein Posting hier: http://www.delphipraxis.net/internal...041334#1041334

Geht dabei um einen Rapidshare Download, bei dem via HTTP AUTH die Userdaten übergeben werden. Die für Dich relevanten Zeilen sind:
Delphi-Quellcode:
HTTP.Request.BasicAuthentication := true;
HTTP.Request.Username := Username;
HTTP.Request.Password := Password;
@lou:
Dein Posting geht komplett am Thema vorbei. Bei Dir wird ein Benutzername und ein Kennwort an ein Script übergeben. Das hat mit HTTP AUTH nichts zu tun.

peter001 18. Jun 2009 14:38

Re: HTTP Authentifizierung
 
Hi

danke, das scheint richtig auszusehen.

Allerdings bekomme ich, wenn ich den von dir verlinkten code testweise mal übernehme den Fehler bei
HTTP := TIdHTTP.Create;
der besagt "Not enough actual parameters".

als uses hab ich "idHTTP" eingetragen, wobei ich mir damit nicht sicher bin :x

Wie kommts dass das bei dir funktioniert und bei mir nicht?

nahpets 18. Jun 2009 14:47

Re: HTTP Authentifizierung
 
Hallo,

Create erwartet einen Parameter, hier musst Du den Owner oder Nil angeben.
Delphi-Quellcode:
http := tidhttp.Create(nil);
und freigeben nicht vergessen (mein Lieblingsfehler ;-))

Fridolin Walther 18. Jun 2009 14:50

Re: HTTP Authentifizierung
 
Zitat:

Zitat von peter001
Wie kommts dass das bei dir funktioniert und bei mir nicht?

Ich benutz wahrscheinlich eine neuere Version der Indys, bei denen ein Überladener Konstruktor existiert ohne Parameter :).


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:01 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