Что такое cURL в PHP?

В PHP я вижу слово cURL во многих проектах PHP. Что это? Как это работает?

Ссылка Ссылка: ( Что такое cURL в PHP? )

cURL – это библиотека, которая позволяет создавать HTTP-запросы в PHP. Все, что вам нужно знать об этом (и большинстве других расширений), можно найти в руководстве по PHP .

Чтобы использовать функции PHP cURL, вам необходимо установить пакет libcurl. PHP требует, чтобы вы использовали libcurl 7.0.2-бета или выше. В PHP 4.2.3 вам понадобится libcurl версии 7.9.0 или выше. Из PHP 4.3.0 вам понадобится версия libcurl версии 7.9.8 или новее. Для PHP 5.0.0 требуется версия libcurl версии 7.10.5 или выше.

Вы также можете делать HTTP-запросы без cURL, хотя в файле php.ini требуется allow_url_fopen .

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

cURL – это способ, которым вы можете ударить URL-адрес из своего кода, чтобы получить от него html-ответ. cURL означает URL-адрес клиента, который позволяет вам связываться с другими URL-адресами и использовать их ответы в коде.

CURL в PHP:

Резюме:

Команда curl_exec в PHP является мостом для использования curl с консоли. curl_exec позволяет быстро и легко выполнять запросы GET / POST, получать ответы от других серверов, таких как JSON, и загружать файлы.

Предупреждение, опасность:

curl является злым и опасным, если он используется неправильно, потому что он связан с получением данных из Интернета. Кто-то может попасть между вашим завихрением и другим сервером и ввести rm -rf / в ваш ответ, а затем, почему я упал на консоль, а ls -l больше не работает? Потому что вы неправильно недооценили опасную силу завитка. Не верьте всему, что возвращается из curl, чтобы быть в безопасности, даже если вы разговариваете со своими серверами. Вы могли бы отталкивать вредоносное ПО, чтобы избавить от дураков своего богатства.

Примеры:

Это было сделано на Ubuntu 12.10

  1. Основной завиток из командной строки:

     el@apollo:/home/el$ curl http://img.ruphp.com/php/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 

    Затем вы можете открыть свой gif в firefox:

     firefox mycat.gif 

    Славные кошки, развивающие Toxoplasma gondii, заставляют женщин держать кошек вокруг и мужчин, чтобы поддерживать женщин вокруг.

  2. Пример cURL получить запрос на удаление google.com, эхо в командной строке:

    Это делается через phpsh-терминал:

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

    Который печатает и сбрасывает беспорядок сжатых html и javascript (из google) на консоль.

  3. Пример cURL помещает текст ответа в переменную:

    Это делается через phpsh-терминал:

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

    Теперь переменная содержит двоичный файл, который является анимированным gif кошки, возможности бесконечны.

  4. Сделайте завиток из файла PHP:

    Поместите этот код в файл myphp.php:

     <?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; } ?> 

    Затем запустите его через командную строку:

     php < myphp.php 

    Вы запустили myphp.php и выполнили эти команды через php-интерпретатор и сбрасывали тонну грязных html и javascript на экран.

    Вы можете делать запросы GET и POST с curl, все, что вы делаете, – это указать параметры, определенные здесь: http://curl.haxx.se/docs/httpscripting.html#POST

Напоминание об опасности:

Будьте осторожны, чтобы сбрасывать сгибы, если какая-либо из них будет интерпретироваться и исполнена, ваша коробка принадлежит вам, а ваша информация о кредитной карте будет продана третьим лицам, и вы получите таинственную сумму в размере 900 долларов от однопользовательской компании Alabama, которая является фронт для преступного кольца для мошенничества с кредитными картами за рубежом.

cURL – это способ, которым вы можете удалять URL-адрес из своего кода, чтобы получить от него ответ HTML. Он используется для командной строки cURL с языка PHP.

 <?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; ?> 

Шаг 1: Инициализируйте сессию curl, используя curl_init() .

Шаг 2: Установите параметр для CURLOPT_URL . Это значение является URL-адресом, на который мы отправляем запрос. Добавьте параметр поиска curl используя параметр q= . Установите опцию CURLOPT_RETURNTRANSFER . True скажет curl, чтобы вернуть строку, а не распечатать ее. Задайте опцию для CURLOPT_HEADER , false сообщит curl, чтобы игнорировать заголовок в возвращаемом значении.

Шаг 3: Выполните сеанс curl, используя curl_exec() .

Шаг 4: Закройте сеанс скручивания, который мы создали.

Шаг 5: Вывод строки возврата.

 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; } 

Это также используется для аутентификации. Мы также можем установить имя пользователя и пароль для аутентификации.

Для получения дополнительной информации см. Руководство пользователя или следующий учебник:

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

Расширение cURL для PHP предназначено для того, чтобы вы могли использовать различные веб-ресурсы из своего PHP-скрипта.

cURL в PHP является мостом для использования командной строки cURL с языка php

завивать

  • cURL – это способ, которым вы можете удалять URL-адрес из своего кода, чтобы получить от него ответ HTML.
  • Он используется для командной строки cURL с языка PHP.
  • cURL – это библиотека, которая позволяет создавать HTTP-запросы в PHP.

PHP поддерживает libcurl, библиотеку, созданную Daniel Stenberg, которая позволяет вам подключаться и взаимодействовать со многими типами серверов со многими различными типами протоколов. В настоящее время libcurl поддерживает протоколы http, https, ftp, gopher, telnet, dict, file и ldap. libcurl также поддерживает HTTPS-сертификаты, HTTP POST, HTTP PUT, FTP-загрузку (это также можно сделать с расширением ftp PHP), загрузкой на основе HTTP-форм, прокси-серверами, куки-файлами и аутентификацией пользователя и пароля.

После того, как вы скомпилировали PHP с поддержкой cURL, вы можете начать использовать функции cURL. Основная идея функций cURL заключается в том, что вы инициализируете сеанс cURL с помощью curl_init (), тогда вы можете установить все свои параметры для передачи через curl_setopt (), затем вы можете выполнить сеанс с curl_exec (), а затем вы завершите сеанс, используя curl_close ().

Образец кода

 // error reporting error_reporting(E_ALL); ini_set("display_errors", 1); //setting url $url = 'http://example.com/api'; //data $data = array("message" => "Hello World!!!"); try { $ch = curl_init($url); $data_string = json_encode($data); if (FALSE === $ch) throw new Exception('failed to initialize'); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string); curl_setopt($ch, CURLOPT_RETURNTRANSFER, false); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json', 'Content-Length: ' . strlen($data_string))); curl_setopt($ch, CURLOPT_TIMEOUT, 5); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); $output = curl_exec($ch); if (FALSE === $output) throw new Exception(curl_error($ch), curl_errno($ch)); // ...process $output now } catch(Exception $e) { trigger_error(sprintf( 'Curl failed with error #%d: %s', $e->getCode(), $e->getMessage()), E_USER_ERROR); } 

Для получения дополнительной информации, пожалуйста,

  • завивать
  • Функции cURL

Сначала давайте разобраться в понятиях curl, libcurl и PHP / cURL.

  1. curl : инструмент командной строки для получения или отправки файлов с использованием синтаксиса URL.

  2. libcurl : библиотека, созданная Даниэлем Стэнбергом, которая позволяет вам подключаться и взаимодействовать со многими типами серверов со многими различными типами протоколов. В настоящее время libcurl поддерживает протоколы http, https, ftp, gopher, telnet, dict, file и ldap. libcurl также поддерживает HTTPS-сертификаты, HTTP POST, HTTP PUT, FTP-загрузку (это также можно сделать с расширением ftp PHP), загрузкой на основе HTTP-форм, прокси-серверами, куки-файлами и аутентификацией пользователя и пароля.

  3. PHP / cURL : модуль для PHP, который позволяет программам PHP использовать libcurl.

Как это использовать:

step1: Инициализировать сессию curl используйте curl_init ().

step2: Установите опцию для CURLOPT_URL. Это значение – это URL-адрес, по которому мы отправляем запрос. Возьмите термин поиска «curl», используя параметр «q =». Установите параметр CURLOPT_RETURNTRANSFER, true скажет curl, чтобы вернуть строку вместо printprint. Задайте опцию для CURLOPT_HEADER, false сообщит curl, чтобы игнорировать заголовок в возвращаемом значении.

step3: Выполните сеанс curl, используя curl_exec ().

step4: Закройте сеанс скручивания, который мы создали.

step5: Вывести возвращаемую строку.

Сделайте DEMO :

Вам нужно будет создать два файла PHP и поместить их в папку, с которой ваш веб-сервер может обслуживать файлы PHP. В моем случае я помещал их в / var / www / для простоты. Эти два файла были названы:

1. Использование-curl.php и 2. helloservice.php .

helloservice.php очень прост и по сути просто отгоняет любые данные, которые он получает:

 <?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/helloservice.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; ?> 

Curl – это не что иное, как расширение PHP, которое наследует поведение нормальной команды и библиотеки curl, написанных в первую очередь для инструмента командной строки Linux / Unix

Что такое завиток? cURL для URL-адреса клиента. CURL используется для отправки данных на любой URL-адрес. Для более подробной информации о том, что такое скручивание, вы можете посетить веб-сайт CURL

cURL в PHP. В PHP введена та же концепция, чтобы отправлять данные на любой доступный URL через другой протокол, например HTTP или FTP. Для более подробной информации вы можете обратиться к учебнику PHP Curl