O que é cURL em PHP?

Respostas:

245

cURL é uma biblioteca que permite fazer solicitações HTTP em PHP. Tudo o que você precisa saber sobre ele (e a maioria das outras extensões) pode ser encontrado no manual do PHP .

Para usar as funções cURL do PHP, você precisa instalar o pacote »libcurl. O PHP requer que você use libcurl 7.0.2-beta ou superior. No PHP 4.2.3, você precisará da libcurl versão 7.9.0 ou superior. No PHP 4.3.0, você precisará de uma versão libcurl 7.9.8 ou superior. O PHP 5.0.0 requer uma versão libcurl 7.10.5 ou superior.

Você também pode fazer solicitações HTTP sem cURL, embora isso precise allow_url_fopenser ativado em seu php.iniarquivo.

// Make a HTTP GET request and print it (requires allow_url_fopen to be enabled)
print file_get_contents('http://www.example.com/');
Johannes Gorset
fonte
1
@ Johannes, são possíveis solicitações de postagem HTTP sem cURL?
Pacerier
2
significa que, se no servidor 'allow_url_fopen' não estiver ativado, não poderíamos usar a função file_get_contents (), mas nesse caso, podemos usar a função curl para o mesmo objetivo? estou correcto?
ARUN 15/02
3
@Arun Sim, se 'allow_url_fopen' não estiver ativado, você poderá usar curl para a mesma tarefa, em vez da função file_get_contents (). O Curl permite que você defina mais opções, como dados POST, cookies etc. que file_get_contents () não fornece.
precisa saber é o seguinte
157

cURL é uma maneira de acessar uma URL do seu código para obter uma resposta html. cURL significa URL do cliente que permite que você se conecte com outros URLs e use suas respostas no seu código.

sushil bharwani
fonte
3
em Javascript, da mesma forma que você faz ajax no seu código. As diferentes coisas que você faz com o PHP de forma síncrona, enquanto no Javascript, você faz de forma síncrona.
Faris Rayhan
68

CURL em PHP:

Resumo:

O curl_execcomando no PHP é uma ponte para usar curlno console. O curl_exec facilita com rapidez e facilidade solicitações GET / POST, recebe respostas de outros servidores como JSON e baixa arquivos.

Aviso, Perigo:

curlé mau e perigoso se usado incorretamente, porque se trata de obter dados de lá na internet. Alguém pode ficar entre o seu curl e o outro servidor e injetar um rm -rf /na sua resposta; então, por que eu fui para o console e ls -lnem funcionei mais? Porque você subestimou o poder perigoso do enrolamento. Não confie em nada que retorne do curl para ser seguro, mesmo se você estiver falando com seus próprios servidores. Você poderia estar retirando malware para aliviar os tolos de sua riqueza.

Exemplos:

Isso foi feito no Ubuntu 12.10

  1. Onda básica a partir da linha de comando:

    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

    Em seguida, você pode abrir seu gif no Firefox:

    firefox mycat.gif

    Gatos gloriosos evoluindo o Toxoplasma gondii para fazer com que as mulheres mantenham os gatos por perto e os homens da mesma forma para manter as mulheres por perto.

  2. exemplo cURL get request para acessar google.com, eco para a linha de comando:

    Isso é feito através do terminal phpsh:

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

    Que imprime e despeja uma bagunça de html e javascript condensado (do google) no console.

  3. O exemplo cURL coloca o texto da resposta em uma variável:

    Isso é feito através do terminal 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;

    A variável agora contém o binário, que é um gif animado de um gato, as possibilidades são infinitas.

  4. Faça uma curvatura de dentro de um arquivo PHP:

    Coloque esse código em um arquivo chamado 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;
      }
    ?>

    Em seguida, execute-o via linha de comando:

    php < myphp.php

    Você executou myphp.php e executou esses comandos através do interpretador php e despejou uma tonelada de html e javascript confusos na tela.

    Você pode fazer GETe POSTsolicitar com curl, tudo o que você faz é especificar os parâmetros conforme definido aqui: Usando curl para automatizar tarefas HTTP

Lembrete de perigo:

Tenha cuidado ao despejar a saída de curl, se alguma delas for interpretada e executada, sua caixa é de propriedade e as informações do seu cartão de crédito serão vendidas a terceiros e você receberá uma cobrança misteriosa de US $ 900 de uma empresa de pisos de Alabama que é uma frente para anel de crime de fraude no cartão de crédito no exterior.

Eric Leschinski
fonte
2
Você pode fornecer um link para fazer backup do 'perigo' mencionado aqui?
floatingLomas
1
@floatingLomas O que Eric tenta explicar é um problema presente em todo o conteúdo fornecido pelo usuário: você não pode confiar em ninguém. Assim como no conteúdo fornecido pelo usuário, é possível explorar o cURL usando um MITM simples para injetar código malicioso no seu aplicativo. Claro que isso é apenas um problema se for "interpretado e executado", como Eric afirmou corretamente. Basta procurar a avaliação é ruim e você encontrará muitos riscos de segurança possíveis (por exemplo, stackoverflow.com/questions/951373/when-is-eval-evil-in-php )
Fabio Poloni
7
@floatingLomas ... também, Eric parece ter paranóia sobre as empresas de pisos individuais do Alabama que cobram 900 dólares.
Fabio Poloni #
Existe uma alternativa além do iframe?
Jennifer Michelle
1
Não é paranóia se eles realmente querem vender pisos para você.
piersb
24

cURL é uma maneira de acessar uma URL do seu código para obter uma resposta HTML. É usado para linha de comando cURL da linguagem 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;
?> 

Etapa 1: inicialize uma sessão de curl usando curl_init().

Etapa 2: defina a opção para CURLOPT_URL . Este valor é o URL para o qual estamos enviando a solicitação. Anexar um termo de pesquisa curlusando o parâmetro q=. Defina a opção para CURLOPT_RETURNTRANSFER. True diz ao curl para retornar a string em vez de imprimi-la. Defina a opção for CURLOPT_HEADER, false informará o curl para ignorar o cabeçalho no valor de retorno.

Etapa 3: Execute a sessão de curvatura usando curl_exec().

Etapa 4: feche a sessão de ondulação que criamos.

Etapa 5: envie a string de retorno.

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

Isso também é usado para autenticação. Também podemos definir o nome de usuário e a senha para autenticação.

Para obter mais funcionalidades, consulte o manual do usuário ou o seguinte tutorial:

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

Neha Sinha
fonte
16

Primeiramente, vamos entender os conceitos de curl, libcurl e PHP / cURL.

  1. curl : uma ferramenta de linha de comando para obter ou enviar arquivos usando a sintaxe da URL.

  2. libcurl : uma biblioteca criada por Daniel Stenberg, que permite conectar e se comunicar com muitos tipos diferentes de servidores com muitos tipos diferentes de protocolos. A libcurl atualmente suporta os protocolos http, https, ftp, gopher, telnet, dict, file e ldap. A libcurl também suporta certificados HTTPS, HTTP POST, HTTP PUT, upload de FTP (isso também pode ser feito com a extensão ftp do PHP), upload baseado em formulário HTTP, proxies, cookies e autenticação de usuário e senha.

  3. PHP / cURL : O módulo para PHP que possibilita que os programas PHP usem libcurl.

Como usá-lo:

Etapa 1 : inicializar uma sessão de curl use curl_init ().

Etapa 2 : defina a opção para CURLOPT_URL. Esse valor é o URL para o qual estamos enviando a solicitação. Anexe um termo de pesquisa "curl" usando o parâmetro "q =". Defina a opção CURLOPT_RETURNTRANSFER, true informará o curl para retornar a string em vez de imprimi-la. Defina a opção CURLOPT_HEADER, false informará o curl para ignorar o cabeçalho no valor de retorno.

etapa 3 : Execute a sessão de ondulação usando curl_exec ().

Passo 4 : feche a sessão de ondulação que criamos.

step5 : Saída da string de retorno.

Faça DEMO :

Você precisará criar dois arquivos PHP e colocá-los em uma pasta na qual seu servidor Web possa servir arquivos PHP. No meu caso, eu os coloquei em / var / www / para simplificar.

1. helloservice.php e 2. demo.php

helloservice.php é muito simples e basicamente apenas repete todos os dados que obtém:

<?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 , você pode ver o resultado:

<?php 
   print_r($_POST);
   //content type: text/html; charset=UTF-8
   //http code: 200
   //Array ( [message] => Hello World [name] => Anand )
?>
Anand Pandey
fonte
Oi, por favor, conte-me sobre a página 1. using-curl.php
Kaveh:
@ Kaveh: desculpe, esqueci a segunda página. Resposta atualizada. Agora por favor verifique.
Anand Pandey
12

A extensão cURL para PHP foi projetada para permitir o uso de uma variedade de recursos da Web a partir do seu script PHP.

Naved Ahmed
fonte
10

cURL no PHP é uma ponte para usar a linha de comando cURL da linguagem php

Jaime Hablutzel
fonte
7

ondulação

  • cURL é uma maneira de acessar uma URL do seu código para obter uma resposta HTML.
  • É usado para linha de comando cURL da linguagem PHP.
  • cURL é uma biblioteca que permite fazer solicitações HTTP em PHP.

O PHP suporta a libcurl, uma biblioteca criada por Daniel Stenberg, que permite conectar e se comunicar com muitos tipos diferentes de servidores com muitos tipos diferentes de protocolos. A libcurl atualmente suporta os protocolos http, https, ftp, gopher, telnet, dict, file e ldap. A libcurl também suporta certificados HTTPS, HTTP POST, HTTP PUT, upload de FTP (isso também pode ser feito com a extensão ftp do PHP), upload baseado em formulário HTTP, proxies, cookies e autenticação de usuário e senha.

Depois de compilar o PHP com suporte a cURL, você pode começar a usar as funções cURL. A idéia básica por trás das funções cURL é que você inicialize uma sessão cURL usando o curl_init (), defina todas as suas opções para a transferência via curl_setopt () e execute a sessão com o curl_exec () e, em seguida, execute finalize sua sessão usando o curl_close ().

Código de amostra

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

Para mais informações, verifique -

Joomler
fonte
1

Curl nada mais é que uma extensão do PHP que herda comportamentos do comando curl normal e da biblioteca escritos principalmente para a ferramenta de linha de comando Linux / Unix

O que é Curl? cURL significa URL do cliente. O cURL é usado para enviar dados para qualquer URL. Para obter mais detalhes sobre o que é exatamente a curvatura, visite o site da CURL

cURL no PHP Agora, o mesmo conceito é introduzido no PHP, para enviar dados para qualquer URL acessível por meio de um protocolo diferente, por exemplo, HTTP ou FTP. Para mais detalhes, você pode consultar o PHP Curl Tutorial

Ankur Kumar Singh
fonte
1

Função 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;
}
MałyMiszcz
fonte
0

Classe php curl (GET, POST, UPLOAD DE ARQUIVOS, SESSÕES, ENVIAR POST JSON, FORCE SIGNIFICADO 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;
            } 
        }
    }
?>

Exemplo:

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

Arquivo 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());
?>
Trabalhador autonomo
fonte