Foros del Web » Programando para Internet » PHP »

Como enviar una solicitud GET a una URL: Request - Curl con PHP

Estas en el tema de Como enviar una solicitud GET a una URL: Request - Curl con PHP en el foro de PHP en Foros del Web. Hola todos espero puedan ayudarme: En una pagina X me dan los pasos para consultar la información de unos pagos y me piden enviar una ...
  #1 (permalink)  
Antiguo 12/02/2014, 18:49
 
Fecha de Ingreso: junio-2010
Ubicación: Puebla, Pue.
Mensajes: 70
Antigüedad: 13 años, 10 meses
Puntos: 1
Pregunta Como enviar una solicitud GET a una URL: Request - Curl con PHP

Hola todos espero puedan ayudarme:

En una pagina X me dan los pasos para consultar la información de unos pagos y me piden enviar una solicitud GET a una URL. Me piden incluir en la URL un ID y una clave access_token que ellos igual me dan; y me ponen el siguiente código:

Request - Curl
Código:
curl -X GET \
-H 'accept: application/json' \
'https://api.paginax/collections/notifications/identificador-de-la-operación?access_token=tu_access_token'
Como lo tengo que hacer con PHP y solo se lo basico de la libreria cURL no se que quiere decir esta parte y como pasarla a PHP
Código:
curl -X GET \
-H 'accept: application/json' \...
Alguien sabe como hacer en especifico solicitud GET a una URL y que quieren decir estas lineas (curl -X GET \-H 'accept: application/json' \...) para poder pasarlas a PHP????


Por favor cualquier orientación me sera util :(
  #2 (permalink)  
Antiguo 12/02/2014, 19:29
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 745
Antigüedad: 12 años, 3 meses
Puntos: 35
Respuesta: Como enviar una solicitud GET a una URL: Request - Curl con PHP

Yo no tengo conocimientos de PHP, ni tampoco me interesa mucho el lenguaje. Pero cURL es, en un principio, una librería de C para manejarte con distintos protocolos webs. Como sí programo en C puedo decirte lo siguiente. La opción -X permite especificar la petición que se quiere realizar (por ejemplo, GET, POST, etc.). Por defecto cuando accedes a una URL con cURL estás haciendo una petición GET, así que no es necesario especificar esa opción. Con respecto a la opción -H, indica qué headers o cabeceras se quieren añadir a la petición (en este caso, 'accept: ...').

Pero no está demás decir que todas estas opciones se pasan al ejecutar cURL en la línea de comandos, como un programa standalone. Lo que querrás hacer es acceder a la librería desde PHP y hacer todo desde allí.

Fijate en la documentación un simple ejemplo de cómo visitar una web y retornar su contenido (digamos el código HTML) te basta para lo que quieres hacer.

Espero que te sirva!

  #3 (permalink)  
Antiguo 13/02/2014, 11:53
 
Fecha de Ingreso: junio-2010
Ubicación: Puebla, Pue.
Mensajes: 70
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: Como enviar una solicitud GET a una URL: Request - Curl con PHP

Muchas gracias Carbon pues si me aclaras el panorama, ya estoy buscando en la documentación de la librería cURL para PHP! Cuando tenga la solución la postere por ai hay otro dummy como yo
  #4 (permalink)  
Antiguo 13/02/2014, 13:50
 
Fecha de Ingreso: junio-2010
Ubicación: Puebla, Pue.
Mensajes: 70
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: Como enviar una solicitud GET a una URL: Request - Curl con PHP

Aun sigo sin poder recibir la información por parte de la pagina a la que hago el GET

Código:
curl -X GET \
-H 'accept: application/json' \
'https://api.paginax.com/collections/notifications/identificador-de-la-operación?access_token=tu_access_token'
Tengo el siguiente codigo pero no me trae nada:
Código PHP:
    $ch curl_init($url);
// Configuring curl options
    
$options = array(
            
CURLOPT_RETURNTRANSFER => true,    
            
CURLOPT_HTTPHEADER => array('Content-type: application/json'),
            
CURLOPT_HTTPHEADER => array('accept: application/json'),
            
CURLOPT_SSL_VERIFYPEER => false,    
            
CURLOPT_POST => 1,
    );
    
// Setting curl options
    
curl_setopt_array$ch$options );    
    
// Getting results
    
$response curl_exec($ch); // Getting jSON result string  
    // Cerrar el recurso cURL y liberar recursos del sistema
    
curl_close($ch);  

    
$data json_decode($response,true);    
    
print_r($data); 
Alguien sabe si me falta configurar algo con curl_setopt???? :(
  #5 (permalink)  
Antiguo 13/02/2014, 13:57
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: Como enviar una solicitud GET a una URL: Request - Curl con PHP

Quita

Código PHP:
Ver original
  1. CURLOPT_POST => 1,

No tiene sentido colocarlo, estás haciendo con eso, una petición POST en vez de GET

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #6 (permalink)  
Antiguo 13/02/2014, 16:59
 
Fecha de Ingreso: junio-2010
Ubicación: Puebla, Pue.
Mensajes: 70
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: Como enviar una solicitud GET a una URL: Request - Curl con PHP

Gracias por responder, ya lo quite y me quedo asi:

Código PHP:
    
    $url 
='https://api.mercadolibre.com/sandbox/collections/notifications/'.$id_op.'?access_token='.$accessToken;
    }
    
    
$ch curl_init($url);
    
// Configuring curl options
    
$options = array(
        
CURLOPT_RETURNTRANSFER => true,    
    
CURLOPT_HTTPHEADER => array('Accept: application/json'),
    
CURLOPT_SSL_VERIFYPEER => false,    
    );
    
// Setting curl options
    
curl_setopt_array$ch$options );    
    
// Getting results
    
$response curl_exec($ch); // Getting jSON result string  
    // Cerrar el recurso cURL y liberar recursos del sistema
    
curl_close($ch);  

    
$data json_decode($responsetrue);    
    
print_r($data); 
Al ahcer el print_r memuestra: {"message": "not_found",}

No se si eso ya este bien porque se supone que me tiene que regresar un json; como ven quiero probar con SandBox de MercadoPago:

https://api.mercadolibre.com/sandbox/collections/notifications/'.$id_op.'?access_token='.$accessToken;

Ademas alguien me puede decir cual es la diferencia entre estas dos lineas de codigo?:

Código PHP:
CURLOPT_HTTPHEADER => array('Content-type: application/json'),
CURLOPT_HTTPHEADER => array('Accept: application/json'), 
  #7 (permalink)  
Antiguo 13/02/2014, 18:03
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 745
Antigüedad: 12 años, 3 meses
Puntos: 35
Respuesta: Como enviar una solicitud GET a una URL: Request - Curl con PHP

Content-Type es utilizado por el servidor para indicarle al cliente qué tipo de datos se están enviando. Accept es utilizado por el cliente para indicar qué tipos de datos se van a aceptar. Como tu estás en el rol de cliente, deberías deja únicamente la línea de accept.

Etiquetas: curl, request
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:21.