2016-04-04 16 views
0

İki Sunucular var. Yani orada biz bazı parametreler GET olsun ki ben ileriye böyle CURL kullanarak, sunucuyu Sağlama için: Codeigniter'da CURL kullanarak iki sunucu arasında veri nasıl gönderilir?</p> <p><strong>1. Lisanslama Şimdi</strong></p> <p><strong>2. Sağlama</strong></p> <p>bir istemci (android/ios cihaz) sunucusu lisans için bir istek gönderir:

$skey = $this->input->get('site_id'); 
    $uid = $this->input->get('user_id'); 
    $url = "http://127.0.0.1/example.com?site_key=".$skey."&uid=".$uid; 

    $wget_cmd = "wget --no-check-certificate \"".$url."\" >/dev/null 2>/dev/null "; 
    //echo($wget_cmd); 
    //exec($wget_cmd); 
    // create a new cURL resource 
    $ch = curl_init(); 
    //curl_setopt($ch, CURLOPT_AUTOREFERER, TRUE); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
    curl_setopt($ch, CURLOPT_VERBOSE, TRUE); 
    curl_setopt($ch, CURLOPT_HTTPGET, TRUE); 
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE); 
    curl_setopt($ch, CURLOPT_TIMEOUT, 300); 
    // set URL and other appropriate options 
    curl_setopt($ch, CURLOPT_URL, $url); 
    //curl_setopt($ch, CURLOPT_HEADER, 0); 
    // grab URL and pass it to the browser 
    curl_exec($ch); 


    echo curl_error($ch); 


    // close cURL resource, and free up system resources 
    curl_close($ch); 

Şimdi provizyon sunucusu provisioning.php adlı bir dosya vardır. Orada Lisans sunucusundan lisans talebine bağlı olarak bazı DB işlemleri gerçekleştiriyorum ve lisans sunucusuna geri göndermek istediğim bir URL oluşturuyorum.

sağlama ben URL DB işlemlere dayalı böyle üretmek: Burada

$uri = site_url('/uploads/'.$user_ini['custom_ini_filename'].'.ini'); 

$ini_url = json_encode($uri,JSON_UNESCAPED_SLASHES); 

Ben lisans sunucusuna geri bu $ini_url dönmek istiyorum.

  1. Bunu nasıl yapacağım?
  2. Bu $ini_url lisans sunucusuna nasıl erişilir?
+1

, sen '1. [Dokümanlar] olarak ayarlanmış CURLOPT_RETURNTRANSFER' seçeneği (http://php.net/ kullanmak zorunda Sunucu Sağlama manuel/tr/function.curl-setopt.php). – Tpojka

+0

@Tpojka Lisans sunucusundaki $ ini_url dosyasına nasıl erişilir? Daha fazla işlem için bunun değerini kullanmak istiyorum – Rajan

cevap

1

Seti CURLOPT_RETURNTRANSFER 1'e ve sadece bir değişkene curl_exec ($ ch) yanıtı atayın:

Lisans Sunucusu

Ayrıca içeriğini yankı gerekecektir
$skey = $this->input->get('site_id'); 
    $uid = $this->input->get('user_id'); 
    $url = "http://127.0.0.1/example.com?site_key=".$skey."&uid=".$uid; 

    $wget_cmd = "wget --no-check-certificate \"".$url."\" >/dev/null 2>/dev/null "; 

    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
    curl_setopt($ch, CURLOPT_VERBOSE, TRUE); 
    curl_setopt($ch, CURLOPT_HTTPGET, TRUE); 
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE); 
    curl_setopt($ch, CURLOPT_TIMEOUT, 300); 
    curl_setopt($ch, CURLOPT_URL, $url); 

    // The blow variable stores the response from provision server 
    $response_from_provision_server = curl_exec($ch); 

    echo curl_error($ch); 

    curl_close($ch); 

provizyon sunucusundan $ ini_url, bu durum curl_exec() çağrısına yanıt olarak License Server'a geri gönderilen çıktıdır.

sadece tarayıcıya yerine çıkış veri URL'yi dönmek istiyorum Eğer

$uri = site_url('/uploads/'.$user_ini['custom_ini_filename'].'.ini'); 

$ini_url = json_encode($uri,JSON_UNESCAPED_SLASHES); 

// echo the $ini_url variable 
echo $ini_url; 
+0

Çok teşekkür ederim @Null Referans – Rajan

+0

Bunu geçmek istiyorum: $ skey = $ this-> input-> get ('site_id'); '$ uid = $ this-> input-> get ('user_id'); 'varolan lisans sunucusundan sunucuyu iki değişken olarak hazırlamada bunu nasıl yapabilirim? – Rajan

+0

json_encode ve json_decode'u şu şekilde kullanın: License 'echo json_encode (array ('skey' => $ this-> input-> get ('site_id'), 'uid' => $ this-> input-> get ('user_id '))) 'Hüküm' $ response = json_decode (curl_exec ($ ch))' Cevap php std nesnesine dönüşür. '$ Response-> skey '' $ response-> uid' gibi erişim. Bunu test etmedim ama doğru gibi görünüyor. – commanderZiltoid