Código PHP:
public function _peticionHTTP($metodo='post', $url, $parametros, $cabecera, $respuesta=true){
//-- Normalizo el parametro $metodo (Innecesario)
//$metodo=strtolower($metodo);
//-- Creo el recurso curl y lo configuro
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);
//-- Configuro la cabecera si $cabecera es distinto de null
// "Content-Type: text/xml; charset=utf-8"
// Yo prefiero mandar un array directamente
if($cabecera){
curl_setopt($c,CURLOPT_HTTPHEADER,array($cabecera,'Expect: '));
}
curl_setopt($c,CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($c,CURLOPT_RETURNTRANSFER,$return);
//-- Configuro el metodo
if($metodo=='post'){
curl_setopt($c,CURLOPT_POST,true);
curl_setopt($c,CURLOPT_POSTFIELDS,$parametros);
}else{
curl_setopt($c,CURLOPT_POST,false);
}
//-- Ejecuto la petición
$exe = curl_exec($c);
//-- Obtengo el codigo de operación si es 200 retorno la respuesta si return = true
$codigo_resp = curl_getinfo($c, CURLINFO_HTTP_CODE);
if($codigo_resp==200&&){
if($respuesta){
return $exe;
} else {
return true;
}
}
else
{
return $codigo_resp;
}
}
Pruebate esto, aunque yo prefiero enviar las cabeceras como array directamente, o bien enviar un array e incorporarlo con un for con las opciones que siempre vallas a añadir.
Lo he probado y me tira bien para hacer peticiones como login de twitter, etc..