Was ist cURL in PHP?

Lesezeit: 10 Minuten

Was ist cURL in PHP
Aakash Chakravarthy

In PHP sehe ich das Wort cURL in vielen PHP-Projekten. Was ist es? Wie funktioniert es?

Referenzlink: cURL

1646640250 56 Was ist cURL in PHP
Johannes Gorset

cURL ist eine Bibliothek, mit der Sie HTTP-Anfragen in PHP stellen können. Alles, was Sie darüber (und die meisten anderen Erweiterungen) wissen müssen, finden Sie in der PHP-Handbuch.

Um die cURL-Funktionen von PHP nutzen zu können, müssen Sie das » libcurl-Paket installieren. PHP erfordert, dass Sie libcurl 7.0.2-beta oder höher verwenden. In PHP 4.2.3 benötigen Sie libcurl Version 7.9.0 oder höher. Ab PHP 4.3.0 benötigen Sie eine libcurl-Version von 7.9.8 oder höher. PHP 5.0.0 erfordert eine libcurl-Version 7.10.5 oder höher.

Sie können HTTP-Anforderungen auch ohne cURL stellen, obwohl dies erforderlich ist allow_url_fopen in Ihrem aktiviert werden php.ini Datei.

// Make a HTTP GET request and print it (requires allow_url_fopen to be enabled)
print file_get_contents('http://www.example.com/');

  • @Johannes, sind HTTP-Post-Requests ohne cURL möglich?

    – Schrittmacher

    26. Februar 2013 um 15:54 Uhr

  • Das heißt, wenn auf dem Server „allow_url_fopen“ nicht aktiviert ist, können wir die file_get_contents()-Funktion nicht verwenden, aber in diesem Fall können wir die Curl-Funktion für denselben Zweck verwenden? hab ich recht?

    – ARUN

    15. Februar 2014 um 18:11 Uhr

  • @Arun Ja, wenn ‘allow_url_fopen’ nicht aktiviert ist, können Sie curl für dieselbe Aufgabe anstelle von file_get_contents() func verwenden. Mit Curl können Sie weitere Optionen wie POST-Daten, Cookies usw. festlegen, die file_get_contents() nicht bietet.

    – Dinesh Nagar

    22. August 2014 um 8:18 Uhr


Was ist cURL in PHP
sushil bharwani

cURL ist eine Möglichkeit, eine URL aus Ihrem Code zu treffen, um eine HTML-Antwort davon zu erhalten. cURL bedeutet Client-URL, mit der Sie eine Verbindung zu anderen URLs herstellen und deren Antworten in Ihrem Code verwenden können.

  • in Javascript ist es dasselbe wie Sie Ajax in Ihrem Code tun. Die verschiedenen Dinge, die Sie mit PHP synchron machen, während Sie mit Javascript aynchron tun.

    – Faris Rayhan

    20. Oktober 2017 um 7:09 Uhr

Was ist cURL in PHP
Erich Leschinski

CURL in PHP:

Zusammenfassung:

Die curl_exec Befehl in PHP ist eine zu verwendende Brücke curl von der Konsole. curl_exec macht es einfach, schnell und einfach GET/POST-Anforderungen auszuführen, Antworten von anderen Servern wie JSON zu erhalten und Dateien herunterzuladen.

Achtung, Gefahr:

curl ist böse und gefährlich, wenn es unsachgemäß verwendet wird, weil es darum geht, Daten von da draußen aus dem Internet zu bekommen. Jemand kann zwischen deine Locke und den anderen Server kommen und einen spritzen rm -rf / in Ihre Antwort, und warum bin ich dann auf eine Konsole gefallen und ls -l geht gar nicht mehr? Weil Sie die gefährliche Kraft des Lockens falsch eingeschätzt haben. Vertrauen Sie nicht darauf, dass irgendetwas, das von curl zurückkommt, sicher ist, selbst wenn Sie mit Ihren eigenen Servern sprechen. Sie könnten Malware zurückziehen, um Narren ihres Reichtums zu befreien.

Beispiele:

Diese wurden auf Ubuntu 12.10 erstellt

  1. Basic Curl von der Kommandozeile:

    [email protected]:/home/el$ curl http://i.imgur.com/4rBHtSm.gif > mycat.gif
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100  492k  100  492k    0     0  1077k      0 --:--:-- --:--:-- --:--:-- 1240k
    

    Dann können Sie Ihr GIF in Firefox öffnen:

    firefox mycat.gif
    

    Herrliche Katzen, die Toxoplasma gondii entwickeln, um Frauen dazu zu bringen, Katzen in der Nähe zu halten, und Männer ebenfalls, um die Frauen in der Nähe zu halten.

  2. cURL-Beispiel zum Abrufen der Anforderung zum Aufrufen von google.com, Echo an die Befehlszeile:

    Dies geschieht über das phpsh-Terminal:

    php> $ch = curl_init();
    
    php> curl_setopt($ch, CURLOPT_URL, 'http://www.google.com');
    
    php> curl_exec($ch);
    

    Was ein Durcheinander von komprimiertem HTML und Javascript (von Google) druckt und auf die Konsole ausgibt.

  3. cURL-Beispiel den Antworttext in eine Variable einfügen:

    Dies geschieht über das phpsh-Terminal:

    php> $ch = curl_init();
    
    php> curl_setopt($ch, CURLOPT_URL, 'http://i.imgur.com/wtQ6yZR.gif');
    
    php> curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    
    php> $contents = curl_exec($ch);
    
    php> echo $contents;
    

    Die Variable enthält jetzt die Binärdatei, die ein animiertes GIF einer Katze ist, die Möglichkeiten sind unendlich.

  4. Führen Sie einen Curl aus einer PHP-Datei heraus aus:

    Fügen Sie diesen Code in eine Datei namens myphp.php ein:

    <?php
      $curl_handle=curl_init();
      curl_setopt($curl_handle,CURLOPT_URL,'http://www.google.com');
      curl_setopt($curl_handle,CURLOPT_CONNECTTIMEOUT,2);
      curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,1);
      $buffer = curl_exec($curl_handle);
      curl_close($curl_handle);
      if (empty($buffer)){
          print "Nothing returned from url.<p>";
      }
      else{
          print $buffer;
      }
    ?>
    

    Führen Sie es dann über die Befehlszeile aus:

    php < myphp.php
    

    Sie haben myphp.php ausgeführt und diese Befehle über den PHP-Interpreter ausgeführt und eine Menge unordentliches HTML und Javascript auf den Bildschirm ausgegeben.

    Du kannst tun GET und POST Anfragen mit curl, alles, was Sie tun, ist, die Parameter wie hier definiert anzugeben: Verwenden von curl zum Automatisieren von HTTP-Jobs

Erinnerung an Gefahr:

Seien Sie vorsichtig, wenn Sie Curl-Ausgaben herumwerfen, wenn irgendetwas davon interpretiert und ausgeführt wird, gehört Ihre Box und Ihre Kreditkarteninformationen werden an Dritte verkauft, und Sie erhalten eine mysteriöse Gebühr von 900 US-Dollar von einer Ein-Mann-Bodenbelagsfirma in Alabama, die a ist Front für Verbrechensring für Kreditkartenbetrug in Übersee.

  • Können Sie einen Link zur Verfügung stellen, der die von Ihnen erwähnte “Gefahr” unterstützt?

    – FloatingLomas

    19. August 2016 um 16:46 Uhr

  • @floatingLomas Was Eric zu erklären versucht, ist ein Problem, das bei allen von Benutzern bereitgestellten Inhalten vorhanden ist: Sie können niemandem vertrauen. Wie bei von Benutzern bereitgestellten Inhalten ist es möglich, cURL mit einem einfachen MITM auszunutzen, um bösartigen Code in Ihre Anwendung einzuschleusen. Das ist natürlich nur ein Problem, wenn es kommt „interpretiert und ausgeführt“ wie Eric richtig gesagt hat. Suchen Sie einfach nach der eval ist böse und Sie werden viele mögliche Sicherheitsrisiken finden (z. B. stackoverflow.com/questions/951373/when-is-eval-evil-in-php)

    – Fabio Poloni

    17. November 2016 um 9:53 Uhr

  • @floatingLomas … außerdem scheint Eric Paranoia über Ein-Mann-Bodenbelagsfirmen in Alabama zu haben, die ihm 900 Dollar berechnen.

    – Fabio Poloni

    17. November 2016 um 9:55 Uhr

  • Gibt es eine Alternative außer Iframe?

    – Jennifer Michelle

    29. Juni 2017 um 10:04 Uhr

  • Es ist keine Paranoia, wenn sie Ihnen wirklich Bodenbeläge verkaufen wollen.

    – Pierb

    23. Oktober 2017 um 9:56 Uhr

1646640252 381 Was ist cURL in PHP
Neha Sinha

cURL ist eine Möglichkeit, eine URL aus Ihrem Code zu treffen, um eine HTML-Antwort davon zu erhalten. Es wird für die Befehlszeilen-cURL aus der PHP-Sprache verwendet.

<?php
// Step 1
$cSession = curl_init(); 
// Step 2
curl_setopt($cSession,CURLOPT_URL,"http://www.google.com/search?q=curl");
curl_setopt($cSession,CURLOPT_RETURNTRANSFER,true);
curl_setopt($cSession,CURLOPT_HEADER, false); 
// Step 3
$result=curl_exec($cSession);
// Step 4
curl_close($cSession);
// Step 5
echo $result;
?> 

Schritt 1: Initialisieren Sie eine Curl-Sitzung mit curl_init().

Schritt 2: Option für festlegen CURLOPT_URL. Dieser Wert ist die URL, an die wir die Anfrage senden. Fügen Sie einen Suchbegriff hinzu curl Parameter verwenden q=. Option festlegen für CURLOPT_RETURNTRANSFER. True weist curl an, die Zeichenfolge zurückzugeben, anstatt sie auszudrucken. Option festlegen für CURLOPT_HEADERfalse weist curl an, den Header im Rückgabewert zu ignorieren.

Schritt 3: Führen Sie die Curl-Sitzung mit aus curl_exec().

Schritt 4: Schließen Sie die von uns erstellte Curl-Sitzung.

Schritt 5: Geben Sie den Rückgabestring aus.

public function curlCall($apiurl, $auth, $rflag)
{
    $ch = curl_init($apiurl);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

    if($auth == 'auth') { 
        curl_setopt($ch, CURLOPT_USERPWD, "passw:passw");
    } else {
        curl_setopt($ch, CURLOPT_USERPWD, "ss:ss1");
    }
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $dt = curl_exec($ch);        
    curl_close($ch);
    if($rflag != 1) {
        $dt = json_decode($dt,true);        
    }
    return $dt;
}

Dies dient auch der Authentifizierung. Wir können auch den Benutzernamen und das Passwort für die Authentifizierung festlegen.

Weitere Funktionen finden Sie im Benutzerhandbuch oder im folgenden Tutorial:

http://php.net/manual/en/ref.curl.php
http://www.startutorial.com/articles/view/php-curl

1646640252 477 Was ist cURL in PHP
Anand Pandey

Lassen Sie uns zunächst die Konzepte von curl, libcurl und PHP/cURL verstehen.

  1. kräuseln: Ein Befehlszeilentool zum Abrufen oder Senden von Dateien mithilfe der URL-Syntax.

  2. libcurl: eine von Daniel Stenberg erstellte Bibliothek, die es Ihnen ermöglicht, sich mit vielen verschiedenen Arten von Servern mit vielen verschiedenen Arten von Protokollen zu verbinden und mit ihnen zu kommunizieren. libcurl unterstützt derzeit die Protokolle http, https, ftp, gopher, telnet, dict, file und ldap. libcurl unterstützt auch HTTPS-Zertifikate, HTTP POST, HTTP PUT, FTP-Upload (dies kann auch mit der FTP-Erweiterung von PHP erfolgen), HTTP-Formular-basiertes Hochladen, Proxys, Cookies und Benutzer- und Passwortauthentifizierung.

  3. PHP/cURL: Das Modul für PHP, das es PHP-Programmen ermöglicht, libcurl zu verwenden.

Wie man es benutzt:

Schritt 1: Initialisieren Sie eine Curl-Sitzung mit curl_init().

Schritt 2: Option für CURLOPT_URL festlegen. Dieser Wert ist die URL, an die wir die Anfrage senden. Hängen Sie einen Suchbegriff “curl” mit dem Parameter “q=” an. Setzen Sie die Option CURLOPT_RETURNTRANSFER, true wird curl anweisen, die Zeichenfolge zurückzugeben, anstatt sie auszudrucken. Setzen Sie die Option für CURLOPT_HEADER, false weist curl an, den Header im Rückgabewert zu ignorieren.

Schritt 3: Führen Sie die Curl-Sitzung mit curl_exec() aus.

Schritt 4: Schließen Sie die von uns erstellte Curl-Sitzung.

Schritt5: Rückgabestring ausgeben.

Demo machen :

Sie müssen zwei PHP-Dateien erstellen und sie in einem Ordner ablegen, aus dem Ihr Webserver PHP-Dateien bereitstellen kann. In meinem Fall habe ich sie der Einfachheit halber in /var/www/ abgelegt.

1. helloservice.php und 2. demo.php

helloservice.php ist sehr einfach und gibt im Wesentlichen nur alle Daten zurück, die es erhält:

<?php
  // Here is the data we will be sending to the service
  $some_data = array(
    'message' => 'Hello World', 
    'name' => 'Anand'
  );  

  $curl = curl_init();
  // You can also set the URL you want to communicate with by doing this:
  // $curl = curl_init('http://localhost/echoservice');

  // We POST the data
  curl_setopt($curl, CURLOPT_POST, 1);
  // Set the url path we want to call
  curl_setopt($curl, CURLOPT_URL, 'http://localhost/demo.php');  
  // Make it so the data coming back is put into a string
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
  // Insert the data
  curl_setopt($curl, CURLOPT_POSTFIELDS, $some_data);

  // You can also bunch the above commands into an array if you choose using: curl_setopt_array

  // Send the request
  $result = curl_exec($curl);

  // Get some cURL session information back
  $info = curl_getinfo($curl);  
  echo 'content type: ' . $info['content_type'] . '<br />';
  echo 'http code: ' . $info['http_code'] . '<br />';

  // Free up the resources $curl is using
  curl_close($curl);

  echo $result;
?>

2.demo.php Seite können Sie das Ergebnis sehen:

<?php 
   print_r($_POST);
   //content type: text/html; charset=UTF-8
   //http code: 200
   //Array ( [message] => Hello World [name] => Anand )
?>

  • Hallo, würden Sie mir bitte etwas über die Seite 1 erzählen. using-curl.php

    – Kaveh

    26. April 2018 um 20:04 Uhr


  • @Kaveh: Entschuldigung, ich habe die zweite Seite vergessen. Aktualisierte Antwort. Jetzt bitte prüfen.

    – Anand Pandey

    29. Juni 2018 um 11:13 Uhr

1646640253 924 Was ist cURL in PHP
Naved Ahmed

Die cURL-Erweiterung für PHP wurde entwickelt, damit Sie eine Vielzahl von Webressourcen aus Ihrem PHP-Skript heraus verwenden können.

  • Hallo, würden Sie mir bitte etwas über die Seite 1 erzählen. using-curl.php

    – Kaveh

    26. April 2018 um 20:04 Uhr


  • @Kaveh: Entschuldigung, ich habe die zweite Seite vergessen. Aktualisierte Antwort. Jetzt bitte prüfen.

    – Anand Pandey

    29. Juni 2018 um 11:13 Uhr

1646640253 201 Was ist cURL in PHP
Jaime Hablutzel

cURL in PHP ist eine Brücke zur Verwendung von Befehlszeilen-cURL aus der PHP-Sprache

964210cookie-checkWas ist cURL in PHP?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy