Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] API p.pw error

Estas en el tema de API p.pw error en el foro de PHP en Foros del Web. Buenos Dias !!! Resulta que me he diseñado una API en php de p.pw ya que en la seccion tools de la web no viene ...
  #1 (permalink)  
Antiguo 29/01/2015, 05:14
tukymix
Invitado
 
Mensajes: n/a
Puntos:
API p.pw error

Buenos Dias !!!

Resulta que me he diseñado una API en php de p.pw ya que en la seccion tools de la web no viene ninguna y me gustaria que me ayudaseis porque me da error desde la api acortar un link, aqui dejo el codigo y despues comento el error:

Código PHP:
<?php
function xmlRead($texto){
    
$response = new SimpleXMLElement($texto);
    
    
$success $response->success[0];
    if(
$success ==1){
        
$data $response->data[0]->url;
        return 
$data;
    }else{ return 
NULL; }
    
}

function 
ShortUrl($lurl){
    
    
$api "http://p.pw/API/write/get?";
    
    
$query = array(
        
'url' => $lurl,
        
'user' => 'xxx'// Mi ID de usuario
        
'type' => 'xml'// Respuesta
        
'uses' => '1'// Clics de link para borrar
        
'expire' => '01/30/2015' // Fecha que expira el link creado
    
);
    
    
$api $api.http_build_query($query);
    
    if(
$data file_get_contents($api)){
        return 
xmlRead($data);
    }
}

$ruta "http://miweb.es/index.php?act=c&cod=HD3N22&idu=8DNE884N&chan=aas63h3s-32422-23423-sdfsdfd89asdf897asd";

echo 
ShortUrl($ruta);
//echo $ruta;
?>
Bueno desde la misma web de p.pw, pongo la url $ruta y funciona correctamente, me crea el link completo, pero probando desde mi script me da error, probando solo me cogia hasta act=c sin cogerme a partir del &, en fin, me gustaria que funcionase completo, nose que es lo que tengo mal, es decir, si desde mi api pongo una web normal tipo "http://www.miweb.com o http://www.miweb.com/index.php?id=x" funciona perfectamente, pero si pongo mas variables, ya no :(
  #2 (permalink)  
Antiguo 29/01/2015, 05:53
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: API p.pw error

Prueba a pasarle la ruta con urlencode ;)
__________________
>> Eleazan's Source
>> @Eleazan
  #3 (permalink)  
Antiguo 29/01/2015, 06:29
tukymix
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: API p.pw error

ya lo probe, en la funcion ShortUrl, dentro del array habia puesto urlencode($lurl) y nada, me sigue dando error, si quieres hacer alguna prueba, puedes quitar parametros, por defecto se quedaria asi: http://p.pw/API/write/get?url=http:/...a.com&type=xml

si mandas eso la respuesta es en xml y ademas la hace bien, prueba poniendo http://otraurl.com/index.php?id=1212...d-23-2342-sdad pero mandandolo desde el script

Última edición por tukymix; 29/01/2015 a las 06:34
  #4 (permalink)  
Antiguo 29/01/2015, 06:36
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: API p.pw error

Tienes q convertir los & en %26... (q es precisamente lo que hace urlencode...)
__________________
>> Eleazan's Source
>> @Eleazan
  #5 (permalink)  
Antiguo 29/01/2015, 06:41
tukymix
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: API p.pw error

si ya, en fin voy a seguir haciendo pruebas..... me da error :( lo habia probado asi mira:

Código PHP:
function ShortUrl($lurl){
    
    
$api "http://p.pw/API/write/get?";
    
    
$query = array(
        
'url' => urlencode($lurl), // URLENCODE
        
'user' => 'xxx'// Mi ID de usuario
        
'type' => 'xml'// Respuesta
        
'uses' => '1'// Clics de link para borrar
        
'expire' => '01/30/2015' // Fecha que expira el link creado
    
);
    
    
$api $api.http_build_query($query);
    
    if(
$data file_get_contents($api)){
        return 
xmlRead($data);
    }

  #6 (permalink)  
Antiguo 29/01/2015, 06:46
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: API p.pw error

Yo lo he probado (con json), cambiando los & por %26 y me daba todo correcto ;)


Si quieres, prueba tu mismo:

http://p.pw/API/write/get?url=http:/...-sdad&type=xml
__________________
>> Eleazan's Source
>> @Eleazan
  #7 (permalink)  
Antiguo 29/01/2015, 06:49
tukymix
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: API p.pw error

Pero as probado desde la API ? directamente poniendo todo el url de $ruta ?
  #8 (permalink)  
Antiguo 29/01/2015, 07:58
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: API p.pw error

Directamente poniendo la url... xD
__________________
>> Eleazan's Source
>> @Eleazan
  #9 (permalink)  
Antiguo 29/01/2015, 09:07
tukymix
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: API p.pw error

Asi si funciona si la pones directamente, pero desde la api da el error y es lo que me gustaria solucionar :(
  #10 (permalink)  
Antiguo 29/01/2015, 09:31
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: API p.pw error

En mi servidor funciona perfectamente segun el ultimo dato que has pasado:

Código PHP:
Ver original
  1. function ShortUrl($lurl){
  2.    
  3.     $api = "http://p.pw/API/write/get?";
  4.    
  5.     $query = array(
  6.         'url' => urlencode($lurl), // URLENCODE
  7.         'user' => 'xxx', // Mi ID de usuario
  8.         'type' => 'xml', // Respuesta
  9.         'uses' => '1', // Clics de link para borrar
  10.         'expire' => '01/30/2015' // Fecha que expira el link creado
  11.     );
  12.    
  13.     $api = $api.http_build_query($query);
  14.    
  15.     if($data = file_get_contents($api)){
  16.         return xmlRead($data);
  17.     }
  18. }

¿No estará el error en xmlRead? ;)
__________________
>> Eleazan's Source
>> @Eleazan
  #11 (permalink)  
Antiguo 29/01/2015, 14:25
tukymix
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: API p.pw error

compruebo y te comento
  #12 (permalink)  
Antiguo 29/01/2015, 14:30
tukymix
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: API p.pw error

vaya que si, es del xml jejeje, disculpa la molestia amigo, gracias por atenderme y ahora lo solucionare..... Muchas gracias.

Etiquetas: api, fecha
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 07:33.