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

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

Ссылка для справки: cURL


person Aakash Chakravarthy    schedule 17.06.2010    source источник
comment
(справка) Руководство по PHP: Библиотека клиентских URL-адресов   -  person Gordon    schedule 17.06.2010
comment
Пожалуйста, проверьте ниже 2 ссылки, я думаю, это поможет вам понять, что такое cURL. phpsense.com/2007/php-curl-functions blog.unitedheroes.net/curl   -  person Dhaval    schedule 18.06.2012


Ответы (10)


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

Чтобы использовать функции PHP cURL, вам необходимо установить пакет »libcurl. PHP требует, чтобы вы использовали libcurl 7.0.2-beta или выше. В 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, хотя для этого требуется, чтобы allow_url_fopen был включен в вашем php.ini файле.

// Make a HTTP GET request and print it (requires allow_url_fopen to be enabled)
print file_get_contents('http://www.example.com/');
person Johannes Gorset    schedule 17.06.2010
comment
@Johannes, Возможны ли HTTP-запросы post без cURL? - person Pacerier; 26.02.2013
comment
это означает, что если на сервере 'allow_url_fopen' не включен, мы не можем использовать функцию file_get_contents (), но в этом случае мы можем использовать функцию curl для той же цели? я прав? - person ARUN; 15.02.2014
comment
@Arun Да, если 'allow_url_fopen' не включен, вы можете использовать curl для той же задачи вместо функции file_get_contents (). Curl позволяет вам установить дополнительные параметры, такие как данные POST, файлы cookie и т. Д., Которые file_get_contents () не предоставляет. - person Dinesh Nagar; 22.08.2014

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

person sushil bharwani    schedule 17.06.2010
comment
в Javascript это так же, как и в коде с ajax. Различные вещи с PHP вы делаете синхронно, а в Javascript вы делаете асинхронно. - person Faris Rayhan; 20.10.2017

CURL в PHP:

Резюме:

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

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

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

Примеры:

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

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

    el@apollo:/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
    

    Затем вы можете открыть свой 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://i.imgur.com/wtQ6yZR.gif');
    
    php> curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    
    php> $contents = curl_exec($ch);
    
    php> echo $contents;
    

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

  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, все, что вам нужно сделать, это указать параметры, как определено здесь: Использование curl для автоматизации заданий HTTP

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

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

person Eric Leschinski    schedule 04.01.2014
comment
Можете ли вы предоставить ссылку, подтверждающую упомянутую здесь «опасность»? - person floatingLomas; 19.08.2016
comment
@floatingLomas Эрик пытается объяснить проблему, присущую всему пользовательскому контенту: никому нельзя доверять. Как и в случае с пользовательским контентом, cURL можно использовать с помощью простого MITM для внедрения вредоносного кода в ваше приложение. Конечно, это проблема, только если она интерпретируется и выполняется, как правильно сказал Эрик. Просто найдите eval is evil, и вы обнаружите множество возможных угроз безопасности (например, stackoverflow.com/questions/951373/when-is-eval-evil-in-php) - person Fabio Poloni; 17.11.2016
comment
@floatingLomas ... Кроме того, у Эрика, кажется, есть паранойя по поводу компаний по производству полов в Алабаме, которые берут с него 900 долларов. - person Fabio Poloni; 17.11.2016
comment
Есть ли альтернатива, кроме iframe? - person Jennifer Michelle; 29.06.2017
comment
Это не паранойя, если они действительно хотят продать вам пол. - person piersb; 23.10.2017

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 < / а>

person Neha Sinha    schedule 09.04.2015

Во-первых, давайте разберемся с концепциями 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, прокси, файлы cookie и аутентификацию пользователя + пароль.

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

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

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

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

step3: выполните сеанс curl с помощью curl_exec ().

step4: закройте созданный сеанс curl.

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

Сделать ДЕМО:

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

1. helloservice.php и 2. demo.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/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, вы можете увидеть результат:

<?php 
   print_r($_POST);
   //content type: text/html; charset=UTF-8
   //http code: 200
   //Array ( [message] => Hello World [name] => Anand )
?>
person Anand Pandey    schedule 25.10.2017
comment
Привет, не могли бы вы рассказать мне о странице 1. using-curl.php - person Kaveh; 26.04.2018
comment
@Kaveh: извините, я забыл вторую страницу. Обновленный ответ. А теперь проверьте. - person Anand Pandey; 29.06.2018

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

person Naved Ahmed    schedule 21.06.2013

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

person Jaime Hablutzel    schedule 02.07.2011

cURL

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

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

После того, как вы скомпилировали 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);
}

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

person Joomler    schedule 30.03.2017

Функция PHP curl (POST, GET, DELETE, PUT)

function curl($post = array(), $url, $token = '', $method = "POST", $json = false, $ssl = true){
    $ch = curl_init();  
    curl_setopt($ch, CURLOPT_URL, $url);    
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
    if($method == 'POST'){
        curl_setopt($ch, CURLOPT_POST, 1);
    }
    if($json == true){
        curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
        curl_setopt($ch, CURLOPT_HTTPHEADER, array(
            'Content-Type: application/json','Authorization: Bearer '.$token,'Content-Length: ' . strlen($post)));
    }else{
        curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
        curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded'));
    }
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSLVERSION, 6);
    if($ssl == false){
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    }
    // curl_setopt($ch, CURLOPT_HEADER, 0);     
    $r = curl_exec($ch);    
    if (curl_error($ch)) {
        $statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
        $err = curl_error($ch);
        print_r('Error: ' . $err . ' Status: ' . $statusCode);
        // Add error
        $this->error = $err;
    }
    curl_close($ch);
    return $r;
}
person MałyMiszcz    schedule 14.04.2019

Класс php curl (GET, POST, FILES UPLOAD, SESSIONS, SEND POST JSON, FORCE SELFSIGNED SSL / TLS):

<?php
    // Php curl class
    class Curl {

        public $error;

        function __construct() {}

        function Get($url = "http://hostname.x/api.php?q=jabadoo&txt=gin", $forceSsl = false,$cookie = "", $session = true){
            // $url = $url . "?". http_build_query($data);
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_URL, $url);
            curl_setopt($ch, CURLOPT_HEADER, false);        
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            curl_setopt($ch, CURLOPT_TIMEOUT, 60);
            curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
            if($session){
                curl_setopt($ch, CURLOPT_COOKIESESSION, true );
                curl_setopt($ch , CURLOPT_COOKIEJAR, 'cookies.txt');
                curl_setopt($ch , CURLOPT_COOKIEFILE, 'cookies.txt');
            }
            if($forceSsl){
                curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
                curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); // 1, 2
            }
            if(!empty($cookie)){            
                curl_setopt($ch, CURLOPT_COOKIE, $cookie); // "token=12345"
            }
            $info = curl_getinfo($ch);
            $res = curl_exec($ch);        
            if (curl_error($ch)) {
                $this->error = curl_error($ch);
                throw new Exception($this->error);
            }else{
                curl_close($ch);
                return $res;
            }        
        }

        function GetArray($url = "http://hostname.x/api.php", $data = array("name" => "Max", "age" => "36"), $forceSsl = false, $cookie = "", $session = true){
            $url = $url . "?". http_build_query($data);
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_URL, $url);
            curl_setopt($ch, CURLOPT_HEADER, false);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            curl_setopt($ch, CURLOPT_TIMEOUT, 60);
            curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
            if($session){
                curl_setopt($ch, CURLOPT_COOKIESESSION, true );
                curl_setopt($ch , CURLOPT_COOKIEJAR, 'cookies.txt');
                curl_setopt($ch , CURLOPT_COOKIEFILE, 'cookies.txt');
            }
            if($forceSsl){
                curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
                curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); // 1, 2
            }
            if(!empty($cookie)){
                curl_setopt($ch, CURLOPT_COOKIE, $cookie); // "token=12345"
            }
            $info = curl_getinfo($ch);
            $res = curl_exec($ch);        
            if (curl_error($ch)) {
                $this->error = curl_error($ch);
                throw new Exception($this->error);
            }else{
                curl_close($ch);
                return $res;
            }        
        }

        function PostJson($url = "http://hostname.x/api.php", $data = array("name" => "Max", "age" => "36"), $forceSsl = false, $cookie = "", $session = true){
            $data = json_encode($data);
            $ch = curl_init($url);                                                                      
            curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
            curl_setopt($ch, CURLOPT_POST, 1);
            curl_setopt($ch, CURLOPT_POSTFIELDS, $data);                                                                  
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            curl_setopt($ch, CURLOPT_TIMEOUT, 60);
            curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
            if($session){
                curl_setopt($ch, CURLOPT_COOKIESESSION, true );
                curl_setopt($ch , CURLOPT_COOKIEJAR, 'cookies.txt');
                curl_setopt($ch , CURLOPT_COOKIEFILE, 'cookies.txt');
            }
            if($forceSsl){
                curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
                curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); // 1, 2
            }
            if(!empty($cookie)){
                curl_setopt($ch, CURLOPT_COOKIE, $cookie); // "token=12345"
            }
            curl_setopt($ch, CURLOPT_HTTPHEADER, array(
                'Authorization: Bearer helo29dasd8asd6asnav7ffa',                                                      
                'Content-Type: application/json',                                                                                
                'Content-Length: ' . strlen($data))                                                                       
            );        
            $res = curl_exec($ch);
            if (curl_error($ch)) {
                $this->error = curl_error($ch);
                throw new Exception($this->error);
            }else{
                curl_close($ch);
                return $res;
            } 
        }

        function Post($url = "http://hostname.x/api.php", $data = array("name" => "Max", "age" => "36"), $files = array('ads/ads0.jpg', 'ads/ads1.jpg'), $forceSsl = false, $cookie = "", $session = true){
            foreach ($files as $k => $v) {
                $f = realpath($v);
                if(file_exists($f)){
                    $fc = new CurlFile($f, mime_content_type($f), basename($f)); 
                    $data["file[".$k."]"] = $fc;
                }
            }
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_URL, $url);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            curl_setopt($ch, CURLOPT_POST, 1);
            curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");        
            curl_setopt($ch, CURLOPT_POSTFIELDS, $data);    
            curl_setopt($ch, CURLOPT_SAFE_UPLOAD, false); // !!!! required as of PHP 5.6.0 for files !!!
            curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-GB; rv:1.9.2) Gecko/20100115 Firefox/3.6 (.NET CLR 3.5.30729)");
            curl_setopt($ch, CURLOPT_TIMEOUT, 60);
            curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
            if($session){
                curl_setopt($ch, CURLOPT_COOKIESESSION, true );
                curl_setopt($ch , CURLOPT_COOKIEJAR, 'cookies.txt');
                curl_setopt($ch , CURLOPT_COOKIEFILE, 'cookies.txt');
            }
            if($forceSsl){
                curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
                curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); // 1, 2
            }
            if(!empty($cookie)){
                curl_setopt($ch, CURLOPT_COOKIE, $cookie); // "token=12345"
            }
            $res = curl_exec($ch);
            if (curl_error($ch)) {
                $this->error = curl_error($ch);
                throw new Exception($this->error);
            }else{
                curl_close($ch);
                return $res;
            } 
        }
    }
?>

Пример:

<?php
    $urlget = "http://hostname.x/api.php?id=123&user=bax";
    $url = "http://hostname.x/api.php";
    $data = array("name" => "Max", "age" => "36");
    $files = array('ads/ads0.jpg', 'ads/ads1.jpg');

    $curl = new Curl();
    echo $curl->Get($urlget, true, "token=12345");
    echo $curl->GetArray($url, $data, true);
    echo $curl->Post($url, $data, $files, true);
    echo $curl->PostJson($url, $data, true);
?>

Файл php: api.php

<?php
    /*
    $Cookie = session_get_cookie_params();
    print_r($Cookie);
    */
    session_set_cookie_params(9000, '/', 'hostname.x', isset($_SERVER["HTTPS"]), true);
    session_start();

    $_SESSION['cnt']++;
    echo "Session count: " . $_SESSION['cnt']. "\r\n";
    echo $json = file_get_contents('php://input');
    $arr = json_decode($json, true);
    echo "<pre>";
    if(!empty($json)){ print_r($arr); }
    if(!empty($_GET)){ print_r($_GET); }
    if(!empty($_POST)){ print_r($_POST); }
    if(!empty($_FILES)){ print_r($_FILES); }
    // request headers
    print_r(getallheaders());
    print_r(apache_response_headers());
    // Fetch a list of headers to be sent.
    // print_r(headers_list());
?>
person Freelancer    schedule 15.01.2019