Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erklärung der Curl-bezogenen Funktionen in PHP: Funktion „curl_setopt()“.

Detaillierte Erklärung der Curl-bezogenen Funktionen in PHP: Funktion „curl_setopt()“.

巴扎黑
巴扎黑Original
2016-11-24 11:34:331589Durchsuche

Die Funktion des Parameters curl_setopt() besteht darin, die Dialogparameter für einen Curl festzulegen.

‍Die Funktion des Parameters curl_setopt_array() besteht darin, die Dialogparameter für einen Curl in Form eines Arrays festzulegen.

------------

$ch = curl_init();

$fp = fopen(“for example_habitatpage.txt“, „w“);

curl_setopt($ch, CURLOPT_FILE, $fp);

$options = array(

CURLOPT_URL => 'http://www.baidu.com/',

CURLOPT_HEADER => false

); >

curl_setopt_array($ch, $options);

curl_exec($ch);

curl_close($ch);

fclose($fp) ;

?>

----------------------------------------

Optionale Parameter:

CURLOPT_HEADER: Auf 1 gesetzt, dann wird der http-Header in den zurückgegebenen Inhalt einbezogen;

CURLOPT_FOLLOWLOCATION: Set auf 0, es erfolgt kein automatischer 301-, 302-Sprung;

*CURLOPT_INFILESIZE: Wenn Sie eine Datei auf die Remote-Site hochladen, teilt diese Option PHP die Größe der hochgeladenen Datei mit.

*CURLOPT_VERBOSE: Wenn Sie möchten, dass CURL jedes unerwartete Ereignis meldet, legen Sie diese Option auf einen Wert ungleich Null fest.

*CURLOPT_HEADER: Wenn Sie einen Header in die Ausgabe einschließen möchten, setzen Sie diese Option auf einen Wert ungleich Null.

*CURLOPT_NOPROGRESS: Wenn Sie nicht möchten, dass PHP einen Fortschrittsbalken für CURL-Übertragungen anzeigt, setzen Sie diese Option auf einen Wert ungleich Null. Hinweis: PHP setzt diese Option automatisch auf einen Wert ungleich Null. Sie sollten diese Option nur zu Debugging-Zwecken ändern.

*CURLOPT_NOBODY: Wenn Sie den Körperteil nicht in die Ausgabe einschließen möchten, setzen Sie diese Option auf einen Wert ungleich Null.

*CURLOPT_FAILONERROR: Wenn Sie möchten, dass PHP nicht angezeigt wird, wenn ein Fehler auftritt (HTTP-Code-Rückgabe größer oder gleich 300), legen Sie diese Option auf einen Wert ungleich Null fest. Das Standardverhalten besteht darin, eine normale Seite zurückzugeben und den Code zu ignorieren.

*CURLOPT_UPLOAD: Wenn Sie möchten, dass PHP sich auf das Hochladen vorbereitet, setzen Sie diese Option auf einen Wert ungleich Null.

*CURLOPT_POST: Wenn Sie möchten, dass PHP einen regulären HTTP-POST durchführt, setzen Sie diese Option auf einen Wert ungleich Null. Dieser POST ist vom gewöhnlichen Typ application/x-www-from-urlencoded und wird hauptsächlich von HTML-Formularen verwendet.

*CURLOPT_FTPLISTONLY: Setzen Sie diese Option auf einen Wert ungleich Null und PHP listet die Verzeichnisnamen für FTP auf.

*CURLOPT_FTPAPPEND: Setzen Sie diese Option auf einen Wert ungleich Null und PHP wendet die Remote-Datei an, anstatt sie zu überschreiben.

*CURLOPT_NETRC: Setzen Sie diese Option auf einen Wert ungleich Null und PHP sucht in Ihrer ~./netrc-Datei nach dem Benutzernamen und Passwort der Remote-Site, zu der Sie eine Verbindung herstellen möchten.

*CURLOPT_FOLLOWLOCATION: Setzen Sie diese Option auf einen Header ungleich Null (wie „Location:“) und der Server sendet ihn als Teil des HTTP-Headers (beachten Sie, dass dies rekursiv ist, PHP sendet so etwas wie „ Speicherort: „Kopfzeile“).

*CURLOPT_PUT: Setzen Sie diese Option auf einen Wert ungleich Null, um eine Datei über HTTP hochzuladen. Um diese Datei hochzuladen, müssen Sie die Optionen CURLOPT_INFILE und CURLOPT_INFILESIZE festlegen.

*CURLOPT_TIMEOUT: Legen Sie eine lange Ganzzahl als maximale Anzahl von Sekunden fest.

*CURLOPT_LOW_SPEED_LIMIT: Legen Sie eine lange Ganzzahl fest, um zu steuern, wie viele Bytes gesendet werden.

*CURLOPT_LOW_SPEED_TIME: Legen Sie eine lange Ganzzahl fest, um zu steuern, wie viele Sekunden die durch CURLOPT_LOW_SPEED_LIMIT angegebene Anzahl von Bytes übertragen werden soll.

*CURLOPT_RESUME_FROM: Übergeben Sie einen langen Parameter, der die Byte-Offset-Adresse enthält (das Startformular, zu dem Sie übertragen möchten).

*CURLOPT_SSLVERSION: Übergeben Sie einen langen Parameter, der die SSL-Version enthält. Standardmäßig wird PHP von selbst ermittelt, aus Sicherheitsgründen müssen Sie es manuell festlegen.

*CURLOPT_TIMECONDITION: Übergeben Sie einen langen Parameter, um anzugeben, wie mit dem Parameter CURLOPT_TIMEVALUE umgegangen werden soll. Sie können diesen Parameter auf TIMECOND_IFMODSINCE oder TIMECOND_ISUNMODSINCE setzen. Dies gilt nur für HTTP.

*CURLOPT_TIMEVALUE: Vergeht eine Anzahl von Sekunden vom 1.1.1970 bis heute. Diese Zeit wird als angegebener Wert von der Option CURLOPT_TIMEVALUE oder vom Standardwert TIMECOND_IFMODSINCE verwendet.

Die Werte der folgenden Optionen werden als Zeichenfolgen behandelt:

*CURLOPT_URL: Dies ist die URL-Adresse, die Sie abrufen möchten mit PHP. Sie können diese Option auch während der Initialisierung mit der Funktion „curl_init()“ festlegen.

*CURLOPT_USERPWD: Übergeben Sie eine Zeichenfolge in der Form [Benutzername]:[Passwort] und verwenden Sie PHP, um eine Verbindung herzustellen.

*CURLOPT_PROXYUSERPWD: Übergeben Sie eine Zeichenfolge im Format [Benutzername]:[Passwort], um eine Verbindung zum HTTP-Proxy herzustellen.

*CURLOPT_RANGE: Übergeben Sie einen Bereich, den Sie angeben möchten. Es sollte im Format „X-Y“ vorliegen, wobei X oder Y ausgeschlossen sind. HTTP-Übertragungen unterstützen auch mehrere durch Kommas getrennte Intervalle (X-Y, N-M).

*CURLOPT_POSTFIELDS: Übergeben Sie eine Zeichenfolge, die alle Daten enthält, als HTTP-„POST“-Operation.

*CURLOPT_REFERER: Eine Zeichenfolge, die einen „Referer“-Header in der HTTP-Anfrage enthält.

*CURLOPT_USERAGENT: Eine Zeichenfolge, die einen „User-Agent“-Header in der HTTP-Anfrage enthält.

*CURLOPT_FTPPORT: Übergeben Sie eine IP-Adresse, die die vom FTP-Befehl „POST“ verwendete IP-Adresse enthält. Diese POST-Anweisung weist den Remote-Server an, eine Verbindung zu der von uns angegebenen IP-Adresse herzustellen. Diese Zeichenfolge kann eine IP-Adresse, ein Hostname, ein Netzwerkschnittstellenname (unter UNIX) oder „-“ (verwenden Sie die Standard-IP-Adresse des Systems) sein.

*CURLOPT_COOKIE: Übergeben Sie eine Header-Verbindung, die ein HTTP-Cookie enthält.

*CURLOPT_SSLCERT: Übergeben Sie eine Zeichenfolge, die das Zertifikat im PEM-Format enthält.

*CURLOPT_SSLCERTPASSWD: Übergeben Sie ein Passwort, das das erforderliche Passwort zur Verwendung des CURLOPT_SSLCERT-Zertifikats enthält.

*CURLOPT_COOKIEFILE: Übergeben Sie eine Zeichenfolge mit dem Namen der Datei, die Cookie-Daten enthält. Diese Cookie-Datei kann im Netscape-Format vorliegen oder ein Stapel von in der Datei gespeicherten HTTP-Headern sein.

*CURLOPT_CUSTOMREQUEST: Übergeben Sie bei einer HTTP-Anfrage ein Zeichen, das von GET oder HEAD verwendet werden soll. Übergeben Sie eine Zeichenfolge, die anstelle von GET oder HEAD verwendet werden soll, wenn Sie eine HTTP-Anfrage ausführen. Dies ist nützlich, um eine andere, undurchsichtigere HTTP-Anfrage auszuführen. Hinweis: Stellen Sie sicher, dass Ihr Server dies nicht unterstützt.

*CURLOPT_RETURNTRANSFER: Wenn TRUE, gibt die Funktion curl_exec() eine Zeichenfolge zurück, die den Antwortinhalt enthält, anstatt die Antwort direkt an den Client auszugeben. Bei Verwendung von curl_multi_getcontent() muss dieser Parameter auf TRUE gesetzt werden.

Die folgenden Optionen erfordern eine Dateibeschreibung (erhalten mit der Funktion fopen()):

*CURLOPT_FILE : Diese Datei ist die von Ihnen gesendete Ausgabedatei.

*CURLOPT_INFILE: Diese Datei ist die von Ihnen gesendete Eingabedatei.

*CURLOPT_WRITEHEADER: Diese Datei enthält den Header-Teil Ihrer Ausgabe.

*CURLOPT_STDERR: In dieser Datei werden Fehler anstelle von stderr geschrieben.


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn