Heim > Artikel > Backend-Entwicklung > Erste Schritte mit PHP: CURL-Erweiterung
PHP ist eine in der Webentwicklung weit verbreitete Sprache und CURL ist eine der am häufigsten verwendeten Erweiterungen in PHP. Dieser Artikel führt Sie in die grundlegende Verwendung und Anwendung von CURL ein, um Anfängern den schnellen Einstieg zu erleichtern.
1. Einführung in CURL
CURL ist ein Befehlszeilentool, das URL-Syntax zum Übertragen von Daten verwendet. Es ist auch eine Bibliothek, die mehrere Protokolle unterstützt und auf mehreren Plattformen ausgeführt werden kann. Bei Verwendung der CURL-Erweiterung in PHP wird sie hauptsächlich für die Netzwerkkommunikation über Protokolle wie HTTP und HTTPS verwendet, um Daten an andere Server zu senden, Serverantworten zu erhalten, die Formularübermittlung zu simulieren usw.
2. CURL-Installation
Um die CURL-Erweiterung in PHP zu verwenden, müssen Sie bestätigen, dass die lokale Umgebung die CURL-Bibliothek unterstützt. Unter Linux und Mac OS
Nachdem die Installation abgeschlossen ist, können Sie über die Funktion phpinfo()
überprüfen, ob die curl
-Unterstützung aktiviert ist Die CURL-Erweiterung ist fertig. 3. Grundlegende Verwendung von CURL ein CURL-Objekt. Die Funktion curl_setopt()
wird verwendet, um die Optionen der CURL-Anfrage festzulegen, die Funktion curl_exec()
wird verwendet, um die CURL-Anfrage auszuführen und die Antwort zu erhalten Ergebnis, curl_close()
Funktion wird verwendet, um das CURL-Objekt zu schließen.
Im obigen Beispiel verwenden wir die Funktion curl_setopt()
, um die angeforderte URL, die Option CURLOPT_RETURNTRANSFER
und die Option CURLOPT_HEADER
festzulegen. Wenn unter anderem die Option CURLOPT_RETURNTRANSFER
auf 1 gesetzt ist, bedeutet dies, dass das erhaltene Antwortergebnis in Form einer Zeichenfolge zurückgegeben wird. Wenn die Option CURLOPT_HEADER
auf 0 gesetzt ist, bedeutet dies, dass die Antwortheaderinformationen nicht im Antwortergebnis enthalten sind. phpinfo()
函数查看是否已经安装完毕,如果提示curl
支持已启用,则表示CURL扩展已经准备就绪。
三、CURL的基本用法
发送GET请求的基础格式为:
sudo apt-get install libcurl4-openssl-dev // Debian/Ubuntu sudo yum install curl-devel // CentOS/Fedora
其中,curl_init()
函数用于初始化一个CURL对象,curl_setopt()
函数用于设置CURL请求的选项,curl_exec()
函数用于执行CURL请求并获取响应结果,curl_close()
函数用于关闭CURL对象。
在上述例子中,我们使用curl_setopt()
函数设置了请求的URL、CURLOPT_RETURNTRANSFER
选项和CURLOPT_HEADER
选项。其中,CURLOPT_RETURNTRANSFER
选项设置为1时,表示将获取的响应结果以字符串的形式返回。CURLOPT_HEADER
选项设置为0时,则表示在响应结果中不包含响应头部信息。
发送POST请求的基本格式为:
<?php //创建CURL对象 $ch = curl_init(); //设置URL和相应的选项 curl_setopt($ch, CURLOPT_URL, "http://api.example.com/user?id=123"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 0); //执行CURL请求并获取响应结果 $output = curl_exec($ch); //关闭CURL对象 curl_close($ch); //输出响应结果 echo $output; ?>
其中,curl_setopt()
函数新增了两个选项:CURLOPT_POST
和CURLOPT_POSTFIELDS
。CURLOPT_POST
选项设置为1时,表示采用POST方式发送请求,CURLOPT_POSTFIELDS
选项设置为字符串时,表示将这些数据作为POST请求的正文发送。
需要注意的是,为了能够正确地将POST数据发送给服务器,需要设置正确的Content-Type
头部信息。这可以通过curl_setopt()
函数的CURLOPT_HTTPHEADER
选项进行设置。
四、CURL的进阶用法
可以通过curl_setopt()
函数的CURLOPT_HTTPHEADER
选项来设置HTTP头部信息。
<?php //创建CURL对象 $ch = curl_init(); //设置URL和相应的选项 curl_setopt($ch, CURLOPT_URL, "http://api.example.com/user"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, "id=123&name=John"); //执行CURL请求并获取响应结果 $output = curl_exec($ch); //关闭CURL对象 curl_close($ch); //输出响应结果 echo $output; ?>
以上代码设置了Content-Type头部信息为application/json,设置了一个名为Authorization的头部信息,并为其设置了值。这个头部信息的作用是为请求提供一个安全令牌,以便服务器能够验证请求的合法性。
SSL/TLS验证是一种通过判断加密证书的合法性来确保请求的安全性的机制。CURL提供了多种安全验证方式,可以通过curl_setopt()
函数的CURLOPT_SSL_VERIFYPEER
和CURLOPT_SSL_VERIFYHOST
Das Grundformat zum Senden einer POST-Anfrage ist:
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'Authorization: Bearer xxx'));
curl_setopt()
zwei neue Optionen hinzu: CURLOPT_POST
und CURLOPT_POSTFIELDS
. Wenn die Option CURLOPT_POST
auf 1 gesetzt ist, bedeutet dies, dass die Anfrage im POST-Modus gesendet wird. Wenn die Option CURLOPT_POSTFIELDS
auf eine Zeichenfolge gesetzt ist, bedeutet dies, dass diese Daten gesendet werden wird als Hauptteil der POST-Anfrage gesendet. Content-Type
festgelegt werden müssen. Dies kann über die Option CURLOPT_HTTPHEADER
der Funktion curl_setopt()
eingestellt werden. 4. Erweiterte Verwendung von CURL
HTTP-Header-Informationen festlegen
Sie können den HTTP-Header über die OptionCURLOPT_HTTPHEADER
der Funktion curl_setopt()
festlegen Information. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);Der obige Code setzt die Content-Type-Header-Informationen auf application/json, legt eine Header-Information mit dem Namen Authorization fest und legt einen Wert dafür fest. Der Zweck dieses Headers besteht darin, ein Sicherheitstoken für die Anfrage bereitzustellen, damit der Server die Legitimität der Anfrage überprüfen kann. 🎜
CURLOPT_SSL_VERIFYPEER
und CURLOPT_SSL_VERIFYHOST
der Funktion curl_setopt()
erreicht werden können. 🎜🎜Zum Beispiel kann der folgende Code verwendet werden, um die Überprüfung des SSL-Zertifikats auszuschalten: 🎜curl_setopt($ch, CURLOPT_COOKIEJAR, '/tmp/cookies');🎜Es ist zu beachten, dass es in tatsächlichen Anwendungen sehr wichtig ist, die Überprüfung des SSL-Zertifikats so weit wie möglich zu aktivieren Gewährleistung der Sicherheit der Anfrage. 🎜🎜🎜Cookie-Verwaltung🎜🎜🎜CURL kann HTTP-Cookies automatisch verarbeiten, was großen Komfort bei der Verwaltung von Benutzersitzungen bietet. Wir können die Option CURLOPT_COOKIEJAR der Funktion curl_setopt() verwenden, um die vom Server zurückgegebenen Cookie-Informationen zu speichern. 🎜
curl_setopt($ch, CURLOPT_COOKIEFILE, '/tmp/cookies');🎜Verwenden Sie beim Senden der nächsten Anfrage die Option CURLOPT_COOKIEFILE der Funktion curl_setopt(), um den Dateipfad anzugeben, in dem die Cookie-Informationen gespeichert werden. 🎜rrreee🎜 4. Zusammenfassung🎜🎜Durch die Einleitung dieses Artikels glaube ich, dass die Leser zunächst die grundlegende Verwendung der CURL-Erweiterung verstanden haben, einschließlich des Sendens von GET/POST-Anfragen, des Festlegens von HTTP-Header-Informationen, der SSL/TLS-Überprüfung und der Cookie-Verarbeitung Helfen Sie uns, die Netzwerkkommunikation besser zu programmieren. Als nächstes können Sie versuchen, CURL-Erweiterungen zu verwenden, um einige praktische Netzwerkanwendungen zu entwickeln, weiter zu lernen und Ihre Programmierkenntnisse zu verbessern. 🎜
Das obige ist der detaillierte Inhalt vonErste Schritte mit PHP: CURL-Erweiterung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!