Heim  >  Artikel  >  Backend-Entwicklung  >  Erste Schritte mit PHP: CURL-Erweiterung

Erste Schritte mit PHP: CURL-Erweiterung

王林
王林Original
2023-05-21 08:36:051740Durchsuche

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的基本用法

  1. 发送GET请求

发送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时,则表示在响应结果中不包含响应头部信息。

  1. 发送POST请求

发送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_POSTCURLOPT_POSTFIELDSCURLOPT_POST选项设置为1时,表示采用POST方式发送请求,CURLOPT_POSTFIELDS选项设置为字符串时,表示将这些数据作为POST请求的正文发送。

需要注意的是,为了能够正确地将POST数据发送给服务器,需要设置正确的Content-Type头部信息。这可以通过curl_setopt()函数的CURLOPT_HTTPHEADER选项进行设置。

四、CURL的进阶用法

  1. 设置HTTP头部信息

可以通过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的头部信息,并为其设置了值。这个头部信息的作用是为请求提供一个安全令牌,以便服务器能够验证请求的合法性。

  1. SSL/TLS验证

SSL/TLS验证是一种通过判断加密证书的合法性来确保请求的安全性的机制。CURL提供了多种安全验证方式,可以通过curl_setopt()函数的CURLOPT_SSL_VERIFYPEERCURLOPT_SSL_VERIFYHOST

    Eine POST-Anfrage senden

    Das Grundformat zum Senden einer POST-Anfrage ist:

    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'Authorization: Bearer xxx'));
      Unter anderem fügt die Funktion 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.
    1. Es ist zu beachten, dass zum korrekten Senden von POST-Daten an den Server die korrekten Header-Informationen 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 Option CURLOPT_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. 🎜
        🎜SSL/TLS-Verifizierung🎜🎜🎜SSL/TLS-Verifizierung ist ein Mechanismus zur Gewährleistung der Sicherheit der Anfrage durch Beurteilung der Legitimität des Verschlüsselungszertifikats. CURL bietet eine Vielzahl von Sicherheitsüberprüfungsmethoden, die über die Optionen 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!

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