cURL ist eine Bibliothek, mit der Sie HTTP-Anforderungen in PHP stellen können. Alles, was Sie darüber wissen müssen (und die meisten anderen Erweiterungen), finden Sie im PHP-Handbuch .
Um die cURL-Funktionen von PHP nutzen zu können, müssen Sie das »libcurl-Paket installieren. Für PHP müssen 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 ab 7.9.8. 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 allow_url_fopenin Ihrer php.iniDatei aktiviert sein muss .
// 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-Anfragen ohne cURL möglich?
Pacerier
2
Wenn auf dem Server 'allow_url_fopen' nicht aktiviert ist, können wir die Funktion file_get_contents () nicht verwenden. In diesem Fall können wir jedoch die Curl-Funktion für denselben Zweck verwenden. hab ich recht?
ARUN
3
@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
157
Mit cURL können Sie eine URL aus Ihrem Code aufrufen, um eine HTML-Antwort 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 genauso wie in Ihrem Code Ajax. Die verschiedenen Dinge mit PHP machen Sie synchron, während Sie in Javascript aysnchron machen.
Faris Rayhan
68
CURL in PHP:
Zusammenfassung:
Der curl_execBefehl in PHP ist eine Bridge, die curlvon der Konsole aus verwendet werden kann. Mit curl_exec können Sie schnell und einfach GET / POST-Anforderungen ausführen, Antworten von anderen Servern wie JSON empfangen und Dateien herunterladen.
Achtung, Gefahr:
curlist böse und gefährlich, wenn es unsachgemäß verwendet wird, weil es darum geht, Daten von dort draußen im Internet abzurufen. Jemand kann zwischen Ihre Locke und den anderen Server gelangen und eine rm -rf /in Ihre Antwort einfügen. Warum werde ich dann auf eine Konsole fallen gelassen und ls -larbeite nicht einmal mehr? Weil Sie die gefährliche Kraft des Lockens falsch unterschätzt haben. Vertrauen Sie nichts, was von Curl zurückkommt, um sicher zu gehen, selbst wenn Sie mit Ihren eigenen Servern sprechen. Sie könnten Malware zurückziehen, um Dummköpfe von ihrem Reichtum zu entlasten.
Die Variable enthält jetzt die Binärdatei, die ein animiertes GIF einer Katze ist. Die Möglichkeiten sind unendlich.
Machen Sie eine Locke aus einer PHP-Datei heraus:
Fügen Sie diesen Code in eine Datei mit dem Namen 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 chaotischer HTML- und Javascript-Dateien auf den Bildschirm geschrieben.
Seien Sie vorsichtig, wenn Sie die Curl-Ausgabe herumwerfen. Wenn etwas davon interpretiert und ausgeführt wird, ist Ihre Box im Besitz und Ihre Kreditkarteninformationen werden an Dritte verkauft. Sie erhalten eine mysteriöse Gebühr von 900 USD von einer Ein-Mann-Bodenbelagsfirma in Alabama, die eine Front für Übersee-Kreditkartenbetrug Kriminalring.
Können Sie einen Link bereitstellen, der die hier erwähnte "Gefahr" belegt?
FloatingLomas
1
@floatingLomas Was Eric zu erklären versucht, ist ein Problem, das bei allen vom Benutzer bereitgestellten Inhalten auftritt: Sie können niemandem vertrauen. Wie bei vom Benutzer bereitgestellten Inhalten ist es möglich, cURL mithilfe eines einfachen MITM auszunutzen, um schädlichen Code in Ihre Anwendung einzufügen. Natürlich ist dies nur dann ein Problem, wenn es "interpretiert und ausgeführt" wird, wie Eric richtig angegeben hat. Nur nach der Bewertung zu suchen 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
7
@floatingLomas ... außerdem scheint Eric Paranoia gegenüber Ein-Mann-Bodenbelagsunternehmen in Alabama zu haben, die ihm 900 US-Dollar in Rechnung stellen.
Fabio Poloni
Gibt es neben iframe noch eine Alternative?
Jennifer Michelle
1
Es ist keine Paranoia, wenn sie wirklich darauf aus sind, Ihnen Fußböden zu verkaufen.
Piersb
24
Mit cURL können Sie eine URL aus Ihrem Code abrufen, um eine HTML-Antwort darauf zu erhalten. Es wird für die Befehlszeilen-CURL aus der PHP-Sprache verwendet.
Schritt 1: Initialisieren Sie eine Curl-Sitzung mit curl_init().
Schritt 2: Option für einstellen CURLOPT_URL. Dieser Wert ist die URL, an die wir die Anfrage senden. Fügen Sie einen Suchbegriff curlmit einem Parameter hinzu q=. Option einstellen für CURLOPT_RETURNTRANSFER. True weist curl an, die Zeichenfolge zurückzugeben, anstatt sie auszudrucken. Wenn Sie die Option für CURLOPT_HEADERfalse festlegen, wird curl angewiesen, 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 die Rückgabezeichenfolge aus.
Lassen Sie uns zunächst die Konzepte von curl, libcurl und PHP / cURL verstehen.
curl : Ein Befehlszeilenprogramm zum Abrufen oder Senden von Dateien mithilfe der URL-Syntax.
libcurl : Eine von Daniel Stenberg erstellte Bibliothek, mit der Sie eine Verbindung herstellen und mit vielen verschiedenen Servertypen mit vielen verschiedenen Protokolltypen kommunizieren können. 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-formularbasiertes Upload, Proxys, Cookies und Benutzer- und Kennwortauthentifizierung.
PHP / cURL : Das Modul für PHP, mit dem PHP-Programme libcurl verwenden können.
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 Anforderung senden. Fügen Sie einen Suchbegriff "curl" mit dem Parameter "q =" hinzu. Setzen Sie die Option CURLOPT_RETURNTRANSFER. True weist curl an, die Zeichenfolge zurückzugeben, anstatt sie auszudrucken. Wenn Sie die Option für CURLOPT_HEADER auf false setzen, wird curl angewiesen, 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.
Schritt 5 : Geben Sie die Rückgabezeichenfolge aus.
Machen Sie DEMO :
Sie müssen zwei PHP-Dateien erstellen und 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;?>
Mit cURL können Sie eine URL aus Ihrem Code abrufen, um eine HTML-Antwort darauf zu erhalten.
Es wird für die Befehlszeilen-CURL aus der PHP-Sprache verwendet.
cURL ist eine Bibliothek, mit der Sie HTTP-Anforderungen in PHP stellen können.
PHP unterstützt libcurl, eine von Daniel Stenberg erstellte Bibliothek, mit der Sie eine Verbindung herstellen und mit vielen verschiedenen Servertypen mit vielen verschiedenen Protokolltypen kommunizieren können. 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-formularbasiertes Upload, Proxys, Cookies und Benutzer- und Kennwortauthentifizierung.
Sobald Sie PHP mit cURL-Unterstützung kompiliert haben, können Sie die cURL-Funktionen verwenden. Die Grundidee hinter den cURL-Funktionen besteht darin, dass Sie eine cURL-Sitzung mit curl_init () initialisieren, dann alle Optionen für die Übertragung über curl_setopt () festlegen, dann die Sitzung mit curl_exec () ausführen und dann Sie Beenden Sie Ihre Sitzung mit curl_close ().
Curl ist nichts anderes als eine Erweiterung von PHP, die das Verhalten des normalen Curl-Befehls und der normalen Curl-Bibliothek erbt, die hauptsächlich für das Linux / Unix-Befehlszeilentool geschrieben wurden
Was ist Curl?
cURL steht für Client URL. Die cURL wird verwendet, um Daten an eine beliebige URL zu senden. Weitere Informationen darüber, was Curl genau ist, finden Sie auf der CURL-Website
cURL in PHP Nun wird in PHP das gleiche Konzept eingeführt, um Daten über das andere Protokoll, z. B. HTTP oder FTP, an eine beliebige zugängliche URL zu senden. Weitere Informationen finden Sie im PHP Curl Tutorial
Antworten:
cURL ist eine Bibliothek, mit der Sie HTTP-Anforderungen in PHP stellen können. Alles, was Sie darüber wissen müssen (und die meisten anderen Erweiterungen), finden Sie im PHP-Handbuch .
Sie können HTTP-Anforderungen auch ohne cURL stellen, obwohl dies
allow_url_fopen
in Ihrerphp.ini
Datei aktiviert sein muss .quelle
Mit cURL können Sie eine URL aus Ihrem Code aufrufen, um eine HTML-Antwort zu erhalten. cURL bedeutet Client-URL, mit der Sie eine Verbindung zu anderen URLs herstellen und deren Antworten in Ihrem Code verwenden können.
quelle
CURL in PHP:
Zusammenfassung:
Der
curl_exec
Befehl in PHP ist eine Bridge, diecurl
von der Konsole aus verwendet werden kann. Mit curl_exec können Sie schnell und einfach GET / POST-Anforderungen ausführen, Antworten von anderen Servern wie JSON empfangen und Dateien herunterladen.Achtung, Gefahr:
curl
ist böse und gefährlich, wenn es unsachgemäß verwendet wird, weil es darum geht, Daten von dort draußen im Internet abzurufen. Jemand kann zwischen Ihre Locke und den anderen Server gelangen und einerm -rf /
in Ihre Antwort einfügen. Warum werde ich dann auf eine Konsole fallen gelassen undls -l
arbeite nicht einmal mehr? Weil Sie die gefährliche Kraft des Lockens falsch unterschätzt haben. Vertrauen Sie nichts, was von Curl zurückkommt, um sicher zu gehen, selbst wenn Sie mit Ihren eigenen Servern sprechen. Sie könnten Malware zurückziehen, um Dummköpfe von ihrem Reichtum zu entlasten.Beispiele:
Diese wurden unter Ubuntu 12.10 durchgeführt
Grundlegende Locke von der Kommandozeile:
Dann können Sie Ihr GIF in Firefox öffnen:
Herrliche Katzen, die Toxoplasma gondii entwickeln, veranlassen Frauen, Katzen in der Nähe zu halten, und Männer, die Frauen in der Nähe zu halten.
Beispiel für eine cURL-Anfrage zum Aufrufen von google.com, Echo zur Befehlszeile:
Dies erfolgt über das PHPH-Terminal:
Dadurch wird ein Durcheinander von komprimiertem HTML und Javascript (von Google) gedruckt und auf die Konsole übertragen.
Beispiel cURL Fügen Sie den Antworttext in eine Variable ein:
Dies erfolgt über das PHPH-Terminal:
Die Variable enthält jetzt die Binärdatei, die ein animiertes GIF einer Katze ist. Die Möglichkeiten sind unendlich.
Machen Sie eine Locke aus einer PHP-Datei heraus:
Fügen Sie diesen Code in eine Datei mit dem Namen myphp.php ein:
Führen Sie es dann über die Befehlszeile aus:
Sie haben myphp.php ausgeführt und diese Befehle über den PHP-Interpreter ausgeführt und eine Menge chaotischer HTML- und Javascript-Dateien auf den Bildschirm geschrieben.
Sie können mit curl etwas tun
GET
undPOST
anfordern. Sie müssen lediglich die hier definierten Parameter angeben: Verwenden von curl zum Automatisieren von HTTP-JobsErinnerung an die Gefahr:
Seien Sie vorsichtig, wenn Sie die Curl-Ausgabe herumwerfen. Wenn etwas davon interpretiert und ausgeführt wird, ist Ihre Box im Besitz und Ihre Kreditkarteninformationen werden an Dritte verkauft. Sie erhalten eine mysteriöse Gebühr von 900 USD von einer Ein-Mann-Bodenbelagsfirma in Alabama, die eine Front für Übersee-Kreditkartenbetrug Kriminalring.
quelle
Mit cURL können Sie eine URL aus Ihrem Code abrufen, um eine HTML-Antwort darauf zu erhalten. Es wird für die Befehlszeilen-CURL aus der PHP-Sprache verwendet.
Schritt 1: Initialisieren Sie eine Curl-Sitzung mit
curl_init()
.Schritt 2: Option für einstellen
CURLOPT_URL
. Dieser Wert ist die URL, an die wir die Anfrage senden. Fügen Sie einen Suchbegriffcurl
mit einem Parameter hinzuq=
. Option einstellen fürCURLOPT_RETURNTRANSFER
. True weist curl an, die Zeichenfolge zurückzugeben, anstatt sie auszudrucken. Wenn Sie die Option fürCURLOPT_HEADER
false festlegen, wird curl angewiesen, 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 die Rückgabezeichenfolge aus.
Dies wird auch zur Authentifizierung verwendet. 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
quelle
Lassen Sie uns zunächst die Konzepte von curl, libcurl und PHP / cURL verstehen.
curl : Ein Befehlszeilenprogramm zum Abrufen oder Senden von Dateien mithilfe der URL-Syntax.
libcurl : Eine von Daniel Stenberg erstellte Bibliothek, mit der Sie eine Verbindung herstellen und mit vielen verschiedenen Servertypen mit vielen verschiedenen Protokolltypen kommunizieren können. 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-formularbasiertes Upload, Proxys, Cookies und Benutzer- und Kennwortauthentifizierung.
PHP / cURL : Das Modul für PHP, mit dem PHP-Programme libcurl verwenden können.
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 Anforderung senden. Fügen Sie einen Suchbegriff "curl" mit dem Parameter "q =" hinzu. Setzen Sie die Option CURLOPT_RETURNTRANSFER. True weist curl an, die Zeichenfolge zurückzugeben, anstatt sie auszudrucken. Wenn Sie die Option für CURLOPT_HEADER auf false setzen, wird curl angewiesen, 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.
Schritt 5 : Geben Sie die Rückgabezeichenfolge aus.
Machen Sie DEMO :
Sie müssen zwei PHP-Dateien erstellen und 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:
2.demo.php Seite können Sie das Ergebnis sehen:
quelle
Die cURL-Erweiterung für PHP ermöglicht es Ihnen, eine Vielzahl von Webressourcen in Ihrem PHP-Skript zu verwenden.
quelle
cURL in PHP ist eine Brücke zur Verwendung der Befehlszeilen-cURL aus der PHP-Sprache
quelle
cURL
PHP unterstützt libcurl, eine von Daniel Stenberg erstellte Bibliothek, mit der Sie eine Verbindung herstellen und mit vielen verschiedenen Servertypen mit vielen verschiedenen Protokolltypen kommunizieren können. 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-formularbasiertes Upload, Proxys, Cookies und Benutzer- und Kennwortauthentifizierung.
Sobald Sie PHP mit cURL-Unterstützung kompiliert haben, können Sie die cURL-Funktionen verwenden. Die Grundidee hinter den cURL-Funktionen besteht darin, dass Sie eine cURL-Sitzung mit curl_init () initialisieren, dann alle Optionen für die Übertragung über curl_setopt () festlegen, dann die Sitzung mit curl_exec () ausführen und dann Sie Beenden Sie Ihre Sitzung mit curl_close ().
Beispielcode
Weitere Informationen finden Sie unter -
quelle
Curl ist nichts anderes als eine Erweiterung von PHP, die das Verhalten des normalen Curl-Befehls und der normalen Curl-Bibliothek erbt, die hauptsächlich für das Linux / Unix-Befehlszeilentool geschrieben wurden
Was ist Curl? cURL steht für Client URL. Die cURL wird verwendet, um Daten an eine beliebige URL zu senden. Weitere Informationen darüber, was Curl genau ist, finden Sie auf der CURL-Website
cURL in PHP Nun wird in PHP das gleiche Konzept eingeführt, um Daten über das andere Protokoll, z. B. HTTP oder FTP, an eine beliebige zugängliche URL zu senden. Weitere Informationen finden Sie im PHP Curl Tutorial
quelle
PHP-Curl-Funktion (POST, GET, DELETE, PUT)
quelle
PHP-Curl-Klasse (GET, POST, DATEIEN HOCHLADEN, SITZUNGEN, SENDEN POST JSON, FORCE SELFSIGNED SSL / TLS):
Beispiel:
PHP-Datei: api.php
quelle