Heim > Artikel > Backend-Entwicklung > Die Definition und Verwendung der Funktion „curl_setopt“ in PHP
Dieser Artikel stellt hauptsächlich die Verwendung der Funktion „curl_setopt“ in PHP vor. Er analysiert die Funktion, Definition, den Zweck und die damit verbundenen Verwendungsfähigkeiten der Funktion „curl_setopt“ und ist von großem praktischem Wert
Das Beispiel in diesem Artikel beschreibt die Verwendung der Funktion „curl_setopt“ in PHP. Teilen Sie es als Referenz mit allen. Die spezifische Analyse lautet wie folgt:
Die Funktion „curl_setopt“ ist eine wichtige Funktion in PHP. Sie kann einige Benutzerverhalten nachahmen, z. B. die Nachahmung der Benutzeranmeldung, der Registrierung und anderer vom Benutzer bedienbarer Verhaltensweisen.
bool curl_setopt (int ch, string option, mixed value)
Die Funktion „curl_setopt()“ legt Optionen für eine CURL-Sitzung fest. Der Optionsparameter ist die gewünschte Einstellung und der Wert ist der durch diese Option angegebene Wert
Fake-Login
Wap-Login für die Hauptseite und Wap-Login für das Discuz-Forum, die Benutzerdaten auf beiden Seiten werden in derselben Tabelle aufgerufen
//论坛api登录接口地址: $uri = "http//yoursiteweb.com/" //参数数组 $data = array( 'username' => 'username', 'password' => 'password', ); //操作执行 $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $uri); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_HEADER,1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_exec($ch);
Vereinheitlichung des zweitägigen Sitzungs-ID-Generierungsmechanismus, Transformation der Forum-WAP-Benutzerüberprüfungsmethode
Imitieren Sie die Benutzeranmeldeinstanz
function vcurl($url,$post='',$cookie='',$cookiejar='',$referer=''){ $tmpInfo = ''; $cookiepath = getcwd().'./'.$cookiejar; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); if($referer) { curl_setopt($curl, CURLOPT_REFERER, $referer); } else { curl_setopt($curl, CURLOPT_AUTOREFERER, 1); } if($post) { curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, $post); } if($cookie) { curl_setopt($curl, CURLOPT_COOKIE, $cookie); } if($cookiejar) { curl_setopt($curl, CURLOPT_COOKIEJAR, $cookiepath); curl_setopt($curl, CURLOPT_COOKIEFILE, $cookiepath); } //curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($curl, CURLOPT_TIMEOUT, 100); curl_setopt($curl, CURLOPT_HEADER, 0); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $tmpInfo = curl_exec($curl); if (curl_errno($curl)) { echo ' 错误:'.curl_error($curl); } curl_close($curl); return $tmpInfo; } ?>
Die Parameterreferenz lautet wie folgt:
Die Werte der folgenden Optionen werden als lange Ganzzahlen verwendet (angegeben im Optionsparameter):
CURLOPT_INFILESIZE: Wenn Sie eine Datei auf eine Remote-Site hochladen, teilt diese Option PHP die Größe der Datei mit, die Sie hochladen.
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, legen Sie diese Option auf einen Wert ungleich Null fest.
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 einbeziehen 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 gibt einen Wert größer oder gleich 300 zurück), setzen Sie diese Option auf einen Wert ungleich Null. 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 „Standort:“) und der Server sendet ihn als Teil des HTTP-Headers (beachten Sie, dass dies rekursiv ist, PHP sendet einen Header der Form „Standort“) : ' Kopf).
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: Setzen Sie diese Option auf einen Wert ungleich Null und PHP verhält sich für die CURL-Funktion völlig stumm.
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 erledigt PHP seine eigene harte Arbeit, für mehr Sicherheit 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 mit PHP abrufen möchten. 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 mit allen Daten 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 stellen. Dies ist nützlich für eine andere, undurchsichtigere HTTP-Anfrage.
Hinweis: Tun Sie dies nicht, bevor Sie bestätigt haben, dass Ihre Der Server unterstützt den Befehl.
Die folgenden Optionen erfordern eine Dateibeschreibung (abgerufen mit der Funktion fopen()):CURLOPT_FILE: Diese Datei ist die von Ihnen gesendete Ausgabedatei. Der Standardwert ist STDOUT.
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 wurden Fehler anstelle von stderr geschrieben.
Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Studium aller hilfreich sein wird.
Verwandte Empfehlungen:
Verwendung von PHP-Bild-Upload und Javascript-Plug-in
PHP kombiniert mit HTML5 WebSocket-Kommunikation So verwenden Sie
Das obige ist der detaillierte Inhalt vonDie Definition und Verwendung der Funktion „curl_setopt“ in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!