Bezeichnung
easy:SetOpt_HTTPAuth -- legt die HTTP-Server-Authentifizierungsmethoden für den Versuch fest
Übersicht
easy:SetOpt_HTTPAuth(bitmask)
Beschreibung
Übergibt einen Wert als Parameter, der auf eine Bitmaske gesetzt ist, um libcurl mitzuteilen, welche Authentifizierungsmethode(n) Sie verwenden möchten, um mit dem Remote-Server zu kommunizieren.

Die verfügbaren Bits sind unten aufgelistet. Wenn mehr als ein Bit gesetzt ist, fragt libcurl zuerst die Website ab, um zu sehen, welche Authentifizierungsmethoden sie unterstützt und wählt dann die beste aus, die Sie ihr erlauben zu verwenden. Bei einigen Methoden führt dies zu einem zusätzlichen Netzwerkrundflug. Setzen Sie den aktuellen Namen und das aktuelle Passwort mit der Option #CURLOPT_USERPWD oder mit den Optionen #CURLOPT_USERNAME und #CURLOPT_PASSWORD.

Zur Authentifizierung mit einem Proxy siehe #CURLOPT_PROXYAUTH.

#CURLAUTH_BASIC
HTTP Basis-Authentifizierung. Dies ist die Standardwahl und die einzige Methode, die weit verbreitet ist und praktisch überall unterstützt wird. Dadurch werden Benutzername und Passwort im Klartext über das Netzwerk gesendet und von anderen leicht erfasst.

#CURLAUTH_DIGEST
HTTP Digest-Authentifizierung. Die Digest-Authentifizierung ist in RFC2617 definiert und stellt einen sichereren Weg zur Authentifizierung über öffentliche Netzwerke dar als die herkömmliche altmodische Basismethode.

#CURLAUTH_DIGEST_IE
HTTP Digest-Authentifizierung mit IE-Variante. Die Digest-Authentifizierung ist in RFC2617 definiert und stellt einen sichereren Weg zur Authentifizierung über öffentliche Netzwerke dar als die herkömmliche altmodische Basismethode. Die IE-Variante ist einfach, dass libcurl eine spezielle Eigenart ("quirk") verwendet, von der bekannt ist, dass sie vor Version 7 verwendet wurde und dass einige Server den Client zur Verwendung benötigen.

#CURLAUTH_BEARER
HTTP Beare Token-Authentifizierung, die hauptsächlich im OAuth 2.0-Protokoll verwendet wird. Sie können den Träger-Token für die Verwendung mit #CURLOPT_XOAUTH2_BEARER festlegen.

#CURLAUTH_NEGOTIATE
HTTP Negotiate (SPNEGO)-Authentifizierung. Die Negotiate-Authentifizierung ist in RFC 4559 definiert und ist der sicherste Weg, um die Authentifizierung über HTTP durchzuführen. Sie müssen libcurl mit einer geeigneten GSS-API-Bibliothek oder SSPI unter Windows erstellen, damit dies funktioniert.

#CURLAUTH_NTLM
HTTP NTLM-Authentifizierung. Ein proprietäres Protokoll, das von Microsoft entwickelt und verwendet wird. Es verwendet ein Challenge-Response- und Hash-Konzept ähnlich wie Digest, um zu verhindern, dass das Passwort gelesen wird. Sie müssen libcurl entweder mit OpenSSL-, GnuTLS- oder NSS-Unterstützung erstellen, damit diese Option funktioniert, oder libcurl unter Windows mit SSPI-Unterstützung erstellen.

#CURLAUTH_NTLM_WB
NTLM delegiert an Winbind-Helfer. Die Authentifizierung erfolgt durch eine separate binäre Anwendung, die bei Bedarf ausgeführt wird. Der Name der Anwendung wird zur Kompilierungszeit angegeben, ist aber typischerweise /usr/bin/ntlm_auth.

Beachten Sie, dass libcurl sich bei Bedarf teilt, um die Winbind-Anwendung auszuführen und beendet sie. Wenn sie fertig ist wird waitpid() aufgerufen, um auf seinen Ausgang zu warten. Auf POSIX-Betriebssystemen führt das Beenden des Prozesses zum Auslösen eines SIGCHLD-Signals (unabhängig davon, ob #CURLOPT_NOSIGNAL gesetzt ist), das von der Anwendung intelligent gehandhabt werden muss. Insbesondere darf die Anwendung nicht bedingungslos wait() in ihrem SIGCHLD-Signalhandler aufrufen, um zu vermeiden, dass sie einer Race-On-Condition unterworfen wird. Dieses Verhalten kann sich in zukünftigen Versionen von libcurl ändern.

#CURLAUTH_ANY
Dies ist ein Komfortmakro, das alle Bits setzt und so libcurl dazu bringt, jedes auszuwählen, das es für geeignet hält. libcurl wählt automatisch dasjenige aus, das es für am sichersten hält.

#CURLAUTH_ANYSAFE
Dies ist ein Komfortmakro, das alle Bits außer Basic setzt und so libcurl dazu bringt, alle auszuwählen, die es für geeignet hält. libcurl wählt automatisch dasjenige aus, das es für am sichersten hält.

#CURLAUTH_ONLY
Dies ist ein Meta-Symbol. Verwenden Sie diesen Wert mit OR zusammen mit einem einzelnen spezifischen Auth-Wert, um libcurl dazu zu zwingen, nach uneingeschränkter Auth zu suchen, und wenn nicht, ist nur dieser einzelne Auth-Algorithmus akzeptabel.

Eingaben
bitmask
Eingabewert

Navigation zeigen