Che cos'è cURL in PHP?


Risposte:


245

cURL è una libreria che ti consente di effettuare richieste HTTP in PHP. Tutto ciò che devi sapere al riguardo (e la maggior parte delle altre estensioni) è disponibile nel manuale di PHP .

Per usare le funzioni cURL di PHP devi installare il pacchetto »libcurl. PHP richiede l'uso di libcurl 7.0.2-beta o versioni successive. In PHP 4.2.3, è necessario libcurl versione 7.9.0 o successiva. Da PHP 4.3.0, avrai bisogno di una versione libcurl che sia 7.9.8 o successiva. PHP 5.0.0 richiede una versione libcurl 7.10.5 o successiva.

Puoi anche fare richieste HTTP senza cURL, anche se richiede allow_url_fopendi essere abilitato nel tuo php.inifile.

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

1
@Johannes, Le richieste di post HTTP sono possibili senza cURL?
— Pacerier,

2
vuol dire che se nel server 'allow_url_fopen' non è abilitato, allora non potremmo usare la funzione file_get_contents (), ma in quel caso possiamo usare la funzione curl per lo stesso scopo? ho ragione?
— ARUN,

3
@Arun Sì se 'allow_url_fopen' non è abilitato, è possibile utilizzare il ricciolo per la stessa attività anziché la funzione file_get_contents (). Curl ti consente di impostare più opzioni come dati POST, cookie ecc. Che file_get_contents () non fornisce.
— Dinesh Nagar,

157

cURL è un modo per colpire un URL dal tuo codice per ottenere una risposta html da esso. cURL indica l'URL del client che ti consente di connetterti con altri URL e utilizzare le loro risposte nel tuo codice.


3
in Javascript è lo stesso che fai ajax nel tuo codice. Le diverse cose con PHP lo fai in modo sincrono mentre in Javascript lo fai in modo asincrono.
— Faris Rayhan,

68

CURL in PHP:

Sommario:

Il curl_execcomando in PHP è un bridge da usare curldalla console. curl_exec semplifica e velocizza le richieste GET / POST, riceve risposte da altri server come JSON e scarica file.

Avvertenza, pericolo:

curlè malvagio e pericoloso se usato in modo improprio perché si tratta di ottenere dati da lì in Internet. Qualcuno può passare tra il tuo ricciolo e l'altro server e iniettare a rm -rf /nella tua risposta, e quindi perché vengo lasciato su una console els -l non funziona nemmeno più? Perché hai sottovalutato male il pericoloso potere del ricciolo. Non fidarti di nulla che ritorni dal ricciolo per essere sicuro, anche se stai parlando con i tuoi server. Potresti ritirare il malware per alleviare gli sciocchi della loro ricchezza.

Esempi:

Questi sono stati fatti su Ubuntu 12.10

  1. Arricciatura di base dalla riga di 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

    Quindi puoi aprire la tua gif in firefox:

    firefox mycat.gif

    Gatti gloriosi che evolvono Toxoplasma gondii per indurre le donne a tenere i gatti in giro e anche gli uomini a tenere le donne in giro.

  2. esempio cURL ottenere la richiesta per colpire google.com, echo alla riga di comando:

    Questo viene fatto tramite il terminale phpsh:

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

    Che stampa e scarica un casino di html condensato e javascript (da google) sulla console.

  3. L'esempio cURL inserisce il testo della risposta in una variabile:

    Questo viene fatto tramite il terminale 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;

    La variabile ora contiene il binario che è una gif animata di un gatto, le possibilità sono infinite.

  4. Fai un ricciolo all'interno di un file PHP:

    Inserisci questo codice in un file chiamato 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;
      }
    ?>

    Quindi eseguirlo tramite riga di comando:

    php < myphp.php

    Hai eseguito myphp.php ed eseguito quei comandi attraverso l'interprete php e scaricato sullo schermo un sacco di html e javascript disordinati.

    Puoi fare GETe POSTrichiedere con l'arricciatura, tutto ciò che fai è specificare i parametri come definiti qui: Usare l'arricciatura per automatizzare i lavori HTTP

Promemoria di pericolo:

Fai attenzione a scaricare i riccioli in giro, se qualcuno di questi viene interpretato ed eseguito, la tua scatola è di proprietà e le informazioni della tua carta di credito verranno vendute a terzi e riceverai una misteriosa tassa di $ 900 da una società di pavimenti one-man in Alabama che è un fronte per l'anello di criminalità fraudolenta della carta di credito all'estero.


2
Potete fornire un link a supporto del "pericolo" che menzionate qui?
— floatingLomas

1
@floatingLomas Quello che Eric cerca di spiegare è un problema presente con tutti i contenuti forniti dagli utenti: non puoi fidarti di nessuno. Come per i contenuti forniti dagli utenti, è possibile sfruttare cURL utilizzando un semplice MITM per iniettare codice dannoso nella propria applicazione. Naturalmente questo è solo un problema se viene "interpretato ed eseguito" come Eric ha affermato correttamente. Basta cercare l' eval è malefico e troverai molti possibili rischi per la sicurezza (es. Stackoverflow.com/questions/951373/when-is-eval-evil-in-php )
— Fabio Poloni,

7
@floatingLomas ... Inoltre, Eric sembra avere una paranoia sulle società di pavimentazione in Alabama che gli fanno pagare $ 900.
— Fabio Poloni,

Esiste un'alternativa oltre a iframe?
— Jennifer Michelle,

1
Non è paranoia se sono davvero pronti a venderti pavimenti.
— Pier

24

cURL è un modo per colpire un URL dal tuo codice per ottenere una risposta HTML da esso. È usato per la riga di comando cURL dal linguaggio 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;
?> 

Passaggio 1: inizializzare una sessione di arricciatura utilizzando curl_init() .

Passaggio 2: impostare l'opzione per CURLOPT_URL. Questo valore è l'URL a cui stiamo inviando la richiesta. Aggiungere un termine di ricerca curlcon il parametro q=. Impostare l'opzione per CURLOPT_RETURNTRANSFER. True dirà al ricciolo di restituire la stringa invece di stamparla. Impostare l'opzione per CURLOPT_HEADER, false indicherà al ricciolo di ignorare l'intestazione nel valore restituito.

Passaggio 3: eseguire la sessione di arricciatura utilizzando curl_exec().

Passaggio 4: chiudere la sessione di arricciatura che abbiamo creato.

Passaggio 5: emettere la stringa di ritorno.

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

Questo è anche usato per l'autenticazione. Possiamo anche impostare il nome utente e la password per l'autenticazione.

Per ulteriori funzionalità, consultare il manuale dell'utente o il seguente tutorial:

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


16

Innanzitutto, cerchiamo di comprendere i concetti di curl, libcurl e PHP / cURL.

  1. curl : uno strumento da riga di comando per ottenere o inviare file utilizzando la sintassi dell'URL.

  2. libcurl : una libreria creata da Daniel Stenberg, che consente di connettersi e comunicare con molti diversi tipi di server con molti diversi tipi di protocolli. libcurl attualmente supporta i protocolli http, https, ftp, gopher, telnet, dict, file e ldap. libcurl supporta anche certificati HTTPS, HTTP POST, HTTP PUT, upload FTP (questo può essere fatto anche con l'estensione ftp di PHP), upload basato su moduli HTTP, proxy, cookie e autenticazione utente + password.

  3. PHP / cURL : il modulo per PHP che consente ai programmi PHP di usare libcurl.

Come usarlo:

step1 : inizializza una sessione di curl usa curl_init ().

step2 : imposta l' opzione per CURLOPT_URL. Questo valore è l'URL al quale stiamo inviando la richiesta. Aggiungi un termine di ricerca "arricciatura" utilizzando il parametro "q =". Imposta l'opzione CURLOPT_RETURNTRANSFER, true indicherà all'arricciatura di restituire la stringa invece di stamparla. Impostare l'opzione per CURLOPT_HEADER, false indica a curl di ignorare l'intestazione nel valore restituito.

step3 : esegui la sessione curl usando curl_exec ().

step4 : Chiudi la sessione di arricciatura che abbiamo creato.

step5 : emette la stringa di ritorno.

Crea DEMO :

Dovrai creare due file PHP e inserirli in una cartella da cui il tuo server web può servire file PHP. Nel mio caso li metto in / var / www / per semplicità.

1. helloservice.php e 2. demo.php

helloservice.php è molto semplice ed essenzialmente riecheggia tutti i dati che ottiene:

<?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 pagina, puoi vedere il risultato:

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

Ciao, per favore, parlami della pagina 1. using-curl.php
— Kaveh,

@Kaveh: scusa, ho dimenticato la seconda pagina. Risposta aggiornata. Ora per favore controlla.
— Anand Pandey,

12

L'estensione cURL a PHP è progettata per consentire di utilizzare una varietà di risorse Web all'interno dello script PHP.



7

arricciare

  • cURL è un modo per colpire un URL dal tuo codice per ottenere una risposta HTML da esso.
  • È usato per la riga di comando cURL dal linguaggio PHP.
  • cURL è una libreria che ti consente di effettuare richieste HTTP in PHP.

PHP supporta libcurl, una libreria creata da Daniel Stenberg, che consente di connettersi e comunicare con molti diversi tipi di server con molti diversi tipi di protocolli. libcurl attualmente supporta i protocolli http, https, ftp, gopher, telnet, dict, file e ldap. libcurl supporta anche certificati HTTPS, HTTP POST, HTTP PUT, upload FTP (questo può essere fatto anche con l'estensione ftp di PHP), upload basato su moduli HTTP, proxy, cookie e autenticazione utente + password.

Dopo aver compilato PHP con il supporto cURL, puoi iniziare a usare le funzioni cURL. L'idea di base dietro le funzioni cURL è che si inizializza una sessione cURL usando curl_init (), quindi è possibile impostare tutte le opzioni per il trasferimento tramite curl_setopt (), quindi è possibile eseguire la sessione con curl_exec () e quindi termina la sessione usando curl_close ().

Codice di esempio

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

Per ulteriori informazioni, consultare -


1

Curl non è altro che un'estensione di PHP che eredita comportamenti del normale comando curl e libreria scritta principalmente per lo strumento da riga di comando Linux / Unix

Che cos'è il ricciolo? cURL sta per URL client. Il cURL viene utilizzato per inviare dati a qualsiasi URL. Per maggiori dettagli su cosa sia esattamente il ricciolo, puoi visitare il sito web CURL

cURL in PHP Ora lo stesso concetto è stato introdotto in PHP, per inviare dati a qualsiasi URL accessibile tramite il diverso protocollo, ad esempio HTTP o FTP. Per maggiori dettagli, puoi fare riferimento a PHP Curl Tutorial


1

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

0

Classe php curl (OTTIENI, POST, CARICA FILE, SESSIONI, INVIA 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;
            } 
        }
    }
?>

Esempio:

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

File 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());
?>
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.