Dieser Artikel stellt hauptsächlich die Verwendung der Funktion „curl_setopt“ in PHP vor und analysiert die Funktion, Definition, den Zweck und die damit verbundenen Verwendungsfähigkeiten der Funktion „curl_setopt“ in Form von Beispielen. Ich hoffe, es hilft allen.
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 auf der Hauptseite und Wap-Login im Discuz-Forum, die Benutzerdaten auf beiden Seiten werden aufgerufen gleiche Tabelle
//论坛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 und Transformation der Forum-Wap-Benutzerüberprüfungsmethode
Benutzeranmeldeinstanz imitieren
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; } ?>
Parameterreferenz Wie folgt:
Die Werte der folgenden Optionen werden als lange Ganzzahlen verwendet (angegeben im Optionsparameter):
CURLOPT_INFILESIZE: Wenn Sie a hochladen Wenn Sie eine Datei auf eine Remote-Site verschieben, teilt diese Option PHP mit, wie groß die Datei ist, die Sie hochgeladen haben.
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 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-Rückgabe größer oder gleich 300), 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 ausfü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 FTP-Verzeichnisnamen 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, mit der Sie eine Verbindung herstellen möchten
CURLOPT_FOLLOWLOCATION: Bei dieser Option handelt es sich um einen Header ungleich Null (wie „Location:“), den der Server als Teil des HTTP-Headers sendet (beachten Sie, dass dies rekursiv ist; PHP sendet einen Header wie „Location:“).
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 Option CURLOPT_INFILE
CURLOPT_INFILESIZE festlegen.
CURLOPT_MUTE: 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 Ganzzahlparameter, der die Byte-Offset-Adresse enthält (die Sie übertragen möchten). Formular starten).
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, 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. Dieser POST-Befehl 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 beim Stellen 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 (erhalten mit der Funktion fopen()):
CURLOPT_FILE: Diese Datei ist die Ausgabedatei, in der Sie die Übertragung platzieren STDOUT.
CURLOPT_INFILE: Diese Datei ist die Eingabedatei, die Sie gesendet haben.
CURLOPT_WRITEHEADER: Diese Datei enthält den Header-Teil Ihrer Ausgabe.
CURLOPT_STDERR: In dieser Datei wurden Fehler anstelle von stderr geschrieben.
Verwandte Empfehlungen:
Das obige ist der detaillierte Inhalt vonWie verwende ich die PHP-Funktion „curl_setopt'? Detaillierte Erläuterung der Verwendung von curl_setopt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!