Quiero tener una clase de PHP independiente donde quiero tener una función que llame a una API a través de CURL y obtenga la respuesta. ¿Alguien puede ayudarme en esto?Cómo obtener una respuesta usando cURL en PHP
Gracias.
Quiero tener una clase de PHP independiente donde quiero tener una función que llame a una API a través de CURL y obtenga la respuesta. ¿Alguien puede ayudarme en esto?Cómo obtener una respuesta usando cURL en PHP
Gracias.
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;
}
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
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);
Hasta el punto de respuesta. Resolvió mi problema Muchas gracias. –
buena explicación. – Kailas
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)
Bueno, no sabía sobre curl_error() – siliconrockstar
Comprobar este enlace http://www.jonasjohn.de/snippets/php/curl-example.htm – mymotherland