2011-06-29 100 views

Respuesta

82

sólo tiene que utilizar a continuación pedazo de código para obtener la respuesta de dirección URL del servicio Web de descanso, yo uso url mención sociales,

$response = get_web_page("http://socialmention.com/search?q=iphone+apps&f=json&t=microblogs&lang=fr"); 
$resArr = array(); 
$resArr = json_decode($response); 
echo "<pre>"; print_r($resArr); echo "</pre>"; 

function get_web_page($url) { 
    $options = array(
     CURLOPT_RETURNTRANSFER => true, // return web page 
     CURLOPT_HEADER   => false, // don't return headers 
     CURLOPT_FOLLOWLOCATION => true, // follow redirects 
     CURLOPT_MAXREDIRS  => 10,  // stop after 10 redirects 
     CURLOPT_ENCODING  => "",  // handle compressed 
     CURLOPT_USERAGENT  => "test", // name of client 
     CURLOPT_AUTOREFERER => true, // set referrer on redirect 
     CURLOPT_CONNECTTIMEOUT => 120, // time-out on connect 
     CURLOPT_TIMEOUT  => 120, // time-out on response 
    ); 

    $ch = curl_init($url); 
    curl_setopt_array($ch, $options); 

    $content = curl_exec($ch); 

    curl_close($ch); 

    return $content; 
} 
+5

fallo Oldie una regalos ... 1 para el uso de curl_setopt_array(). Mucho más limpio que llamar a curl_setopt() una y otra vez. – Ligemer

52

El quid de la solución es establecer

CURLOPT_RETURNTRANSFER => true 

continuación

$response = curl_exec($ch); 

CURLOPT_RETURNTRANSFER le dice a PHP que almacene la respuesta en una variable en lugar de imprimirla a la página, entonces $ respuesta contendrá su respuesta. Aquí está el código de trabajo más básico (creo, no probarlo):

// init curl object   
$ch = curl_init(); 

// define options 
$optArray = array(
    CURLOPT_URL => 'http://www.google.com', 
    CURLOPT_RETURNTRANSFER => true 
); 

// apply those options 
curl_setopt_array($ch, $optArray); 

// execute request and get response 
$result = curl_exec($ch); 
+3

Hasta el punto de respuesta. Resolvió mi problema Muchas gracias. –

+1

buena explicación. – Kailas

12

Si alguien más se encuentra con esto, estoy añadiendo otra respuesta para proporcionar el código de respuesta u otra información que pueda ser necesaria en la respuesta".

http://php.net/manual/en/function.curl-getinfo.php

// init curl object   
$ch = curl_init(); 

// define options 
$optArray = array(
    CURLOPT_URL => 'http://www.google.com', 
    CURLOPT_RETURNTRANSFER => true 
); 

// apply those options 
curl_setopt_array($ch, $optArray); 

// execute request and get response 
$result = curl_exec($ch); 

// also get the error and response code 
$errors = curl_error($ch); 
$response = curl_getinfo($ch, CURLINFO_HTTP_CODE); 

curl_close($ch); 

var_dump($errors); 
var_dump($response); 

// output 
string(0) "" 
int(200) 

// change www.google.com to www.googlebofus.co 
string(42) "Could not resolve host: www.googlebofus.co" 
int(0) 
+0

Bueno, no sabía sobre curl_error() – siliconrockstar

Cuestiones relacionadas