Heim  >  Artikel  >  Backend-Entwicklung  >  Wie verwende ich die PHP-Funktion „curl_setopt“? Detaillierte Erläuterung der Verwendung von curl_setopt

Wie verwende ich die PHP-Funktion „curl_setopt“? Detaillierte Erläuterung der Verwendung von curl_setopt

*文
*文Original
2017-12-27 09:20:5513931Durchsuche

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.

Wie verwende ich die PHP-Funktion „curl_setopt“? Detaillierte Erläuterung der Verwendung von curl_setopt

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!

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