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.