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