Foros del Web » Programando para Internet » PHP »

traer datos desdo otro servidor

Estas en el tema de traer datos desdo otro servidor en el foro de PHP en Foros del Web. Hola. Tengo un servidor al cual le envio una petición y me devuelve una cadena en json. http://xxxx.com/hacerAlgo me devuelve el json. Como hago para ...
  #1 (permalink)  
Antiguo 19/03/2009, 13:43
Avatar de moron  
Fecha de Ingreso: mayo-2004
Mensajes: 972
Antigüedad: 20 años
Puntos: 2
traer datos desdo otro servidor

Hola.

Tengo un servidor al cual le envio una petición y me devuelve una cadena en json.

http://xxxx.com/hacerAlgo
me devuelve el json.

Como hago para traer con php ese json a una variable desde otro servidor?
se puede hacer sin un web service?


saludos
  #2 (permalink)  
Antiguo 19/03/2009, 13:55
 
Fecha de Ingreso: junio-2008
Ubicación: Lima
Mensajes: 73
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: traer datos desdo otro servidor

Para ello debes de hacer es un include sencillo, la pagina que quieras traer supongo que tendra un valor que desees,, luego de colocar tu include imprimes esa variable y deberia de imprimirte el valor de esa variable, pruebalo y nos cuentas tu experiencia.
  #3 (permalink)  
Antiguo 19/03/2009, 14:06
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Hola moron!.
El "otro servidor" es tuyo? corre en distintos dominios? el formato es si o si json? Tiene que ser por PHP la llamada?

Te hago estas preguntas, porque cuando uso JSON es generalmente mediante JS (AJAX). Si quisieras hacerlo por PHP no habría problemas, pero deberías hacer un parser para dicho formato.

Cita:
Iniciado por rquilca Ver Mensaje
Para ello debes de hacer es un include sencillo, la pagina que quieras traer supongo que tendra un valor que desees,, luego de colocar tu include imprimes esa variable y deberia de imprimirte el valor de esa variable, pruebalo y nos cuentas tu experiencia.
Vos decís de que haga por ejemplo?:
Código PHP:
<? include('http://www.forosdelweb.com/f18/traer-datos-desdo-otro-servidor-681349/');?>
Si es así, interesante....sino contamos más sobre como es tu idea.
__________________
Mi punto de partida es Que Bueno Lo Nuevo

Última edición por GatorV; 19/03/2009 a las 15:50
  #4 (permalink)  
Antiguo 19/03/2009, 15:48
 
Fecha de Ingreso: agosto-2007
Mensajes: 345
Antigüedad: 16 años, 8 meses
Puntos: 21
Respuesta: traer datos desdo otro servidor

quizas no te vale esta opción o ya la descartaste, pero en algunas ocasiones que necesite compartir información entre servidores utilice XML.

Creo que es una buena opción y el manejo de XML con php es relativamente sencillo.
  #5 (permalink)  
Antiguo 20/03/2009, 06:39
Avatar de moron  
Fecha de Ingreso: mayo-2004
Mensajes: 972
Antigüedad: 20 años
Puntos: 2
Respuesta: traer datos desdo otro servidor

Cita:
Iniciado por nicolaspar Ver Mensaje
Hola moron!.
El "otro servidor" es tuyo? corre en distintos dominios? el formato es si o si json? Tiene que ser por PHP la llamada?

Te hago estas preguntas, porque cuando uso JSON es generalmente mediante JS (AJAX). Si quisieras hacerlo por PHP no habría problemas, pero deberías hacer un parser para dicho formato.
Hola, gracias por las respuestas.
Lo que estoy intentando hacer es un servidor de sessiones de usuario, la idea es que lo pueda consumir cualquier sistema desde cualquier dominio. Decidí usar json pq es facil consumirlo desde javascript y desde php y casi cualquier lenguaje es facil parsearlo.
  #6 (permalink)  
Antiguo 20/03/2009, 06:53
Avatar de moron  
Fecha de Ingreso: mayo-2004
Mensajes: 972
Antigüedad: 20 años
Puntos: 2
Respuesta: traer datos desdo otro servidor

Cita:
Iniciado por rquilca Ver Mensaje
Para ello debes de hacer es un include sencillo, la pagina que quieras traer supongo que tendra un valor que desees,, luego de colocar tu include imprimes esa variable y deberia de imprimirte el valor de esa variable, pruebalo y nos cuentas tu experiencia.
Entiendo el punto, pero en el caso de que funciones, supongo que pra lograr esto, en lugar de mostrar en pantalla el json, el servidor debería guardar en una variable (php) el valor del mismo, esto no estaría condicionando a que quien consuma tenga que usar tambien php?
  #7 (permalink)  
Antiguo 20/03/2009, 07:22
Avatar de farra  
Fecha de Ingreso: marzo-2008
Ubicación: Aqui estoy
Mensajes: 574
Antigüedad: 16 años, 1 mes
Puntos: 20
Respuesta: traer datos desdo otro servidor

Código PHP:
<?php
$url
="http://www.google.com/";
$paginaweb file_get_contents($url);

echo 
$paginaweb;
?>
__________________
Firma:
Es mas dificil para el mono entender que el hombre desciende de el....

PD: Siempre doy karma al que me da una buena respuesta... ;0)
  #8 (permalink)  
Antiguo 20/03/2009, 07:51
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Respuesta: traer datos desdo otro servidor

Cita:
Iniciado por moron Ver Mensaje
Entiendo el punto, pero en el caso de que funciones, supongo que pra lograr esto, en lugar de mostrar en pantalla el json, el servidor debería guardar en una variable (php) el valor del mismo, esto no estaría condicionando a que quien consuma tenga que usar tambien php?
Lo mejor es que uses javascript del lado del cliente, encasillar tu sistema solo a PHP es egoista. Además JS es lo que usan este tipo de sistemas.
Luego si desde el cliente tenés PHP podrás guardar sessiones, en db o lo que necesites, pero no haría a la lógica de login/registro/etc.

Tampoco dejaría de usar JSON, jQuery por ejemplo tiene JSONP que te permite hacer peticiones entre dominios (se sabe que JS no puede pedir a un dominio que no sea el tuyo, ni flash, y muchas veces PHP tampoco, donde en este caso de usa curl).

Fijate como trabajan estos sistemas, ya está todo pensado, pulí la rueda pero no la reinventes.
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #9 (permalink)  
Antiguo 20/03/2009, 08:02
 
Fecha de Ingreso: junio-2001
Ubicación: Cd. Madero, Tam
Mensajes: 83
Antigüedad: 22 años, 10 meses
Puntos: 0
Respuesta: traer datos desdo otro servidor

Puede ser que curl te funcione checa esta pagina

http://www.php.net/manual/en/curl.examples-basic.php

Suerte.
  #10 (permalink)  
Antiguo 20/03/2009, 08:42
Avatar de moron  
Fecha de Ingreso: mayo-2004
Mensajes: 972
Antigüedad: 20 años
Puntos: 2
Respuesta: traer datos desdo otro servidor

Cita:
Iniciado por nicolaspar Ver Mensaje
Lo mejor es que uses javascript del lado del cliente, encasillar tu sistema solo a PHP es egoista. Además JS es lo que usan este tipo de sistemas.
Luego si desde el cliente tenés PHP podrás guardar sessiones, en db o lo que necesites, pero no haría a la lógica de login/registro/etc.

.
es que necesito hacer una validación en servidor.
  #11 (permalink)  
Antiguo 20/03/2009, 09:17
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Respuesta: traer datos desdo otro servidor

Vos tenés el server que es quién hace la validación, y luego tenes los clientes, que son quienes piden al server esta acción. En los clientes técnicamente no necesitas PHP, si comunicarte con el server para que él haga su trabajo.

Que valicación necesitas en el cliente?
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #12 (permalink)  
Antiguo 20/03/2009, 09:35
Avatar de moron  
Fecha de Ingreso: mayo-2004
Mensajes: 972
Antigüedad: 20 años
Puntos: 2
Respuesta: traer datos desdo otro servidor

los usuarios estan registrados en un servidor x

cuando intentan acceder a alguna aplicación en un servidor Y, este se fija si el usuario tiene iniciada session en el servidor x

el servidor x devuelve un json con los datos referidos a permisos (no manda usuario ni contraseña), servicios a los que tiene acceso y los modulos.

si el usuario esta logueado, recibo esos datos del servidor x, si no esta logueado recibo uno de esos parámetro en false y redirecciono a loguear desde el servidor Y

La validación la quiero hacer en servidor, ya que si lo manejo en cliente puede vulnerarse esos datos.

Por ejemplo, mando un insertar al servidor, quiero saber en este servidor si el usuario tiene session iniciada en otro servidor, y si la tiene que me pase los permisos que este tiene para ver si lo dejo o no insertar.
  #13 (permalink)  
Antiguo 20/03/2009, 10:14
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Respuesta: traer datos desdo otro servidor

Las validaciones siempre son del servidor como mínimo.

Por empezar, definamos conceptos así nos comprendemos. Llamemos servidor al server que procesa los datos, y cliente/s a los que piden de estos.

Ahora bien, vos podés hacer dos cosas:

1- Dejar la lógica de formularios del lado del cliente y enviar los datos mediante llamadas (como si fuera un WS)
2- Manejar esto solo del lado del servidor teniendo todos los formularios en el servidor y no en el cliente.

De ahí partimos a continuar, esto influye a como manejes las validaciones...cual de ambas tenés en mente?
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #14 (permalink)  
Antiguo 20/03/2009, 11:25
Avatar de moron  
Fecha de Ingreso: mayo-2004
Mensajes: 972
Antigüedad: 20 años
Puntos: 2
en este caso en particular no hay logica del lado del cliente, lo unico que hace el cliente es hacer llamar a una pagina en el servidor, un archivo.php

este archivo por defecto instancia una clase y llama al metodo getSession() de la misma
esta función si fija si hay una session[usuario], si existe, devuelve el usuario en formato json con un atributo valido=true
caso contrario, el atributo valido = false

pero no hay interacción de parámetros ni mensajes entre cliente y servidor,

ej: del lado del cliente:

function hacerAlgo()
{

if( ! resultadoDelServidor.valido)
{
echo acceso restringido
exit;
}
}


me explico?

a lo mejor me estoy embarcando en algo que se puede solucionar de alguna otra manera. Quiero tener un servidor de sesiones centralizado.

Última edición por GatorV; 20/03/2009 a las 11:56
  #15 (permalink)  
Antiguo 20/03/2009, 11:57
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: traer datos desdo otro servidor

Lo que quieres hacer se conoce como WebService, y sirve precisamente para eso, investiga el protocolo SOAP.

Saludos.
  #16 (permalink)  
Antiguo 20/03/2009, 12:02
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Respuesta: traer datos desdo otro servidor

Así es, es un WS. Aclaro que usando WS no podras usar sessions de manera normal como si fuera un browser.
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #17 (permalink)  
Antiguo 20/03/2009, 12:06
Avatar de moron  
Fecha de Ingreso: mayo-2004
Mensajes: 972
Antigüedad: 20 años
Puntos: 2
Respuesta: traer datos desdo otro servidor

Gracias gente, estuve leyendo y vi que lo que se usa es guardar las sessiones en mysql, y levantar y bajar las mismas en una tabla de sesiones, con algunas modificaciones creo que lo puedo adaptar a lo que necesito.
http://www.malditainternet.com/como-...tre-servidores

no se si tendrá alguna incompatibilidad ya que esta hecho para php 4, lo voy a probar.
de esa manera me evito el ws.

muchas gracias por los comentarios, y si alguien tiene alguna sugerencia respecto del articulo, bienvenido.

saludos
  #18 (permalink)  
Antiguo 20/03/2009, 12:18
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: traer datos desdo otro servidor

El inconveniente de eso es que necesitas el acceso remoto habilitado, lo que luego es un problema de seguridad, es por eso que los WS son la mejor opción.

Saludos.
  #19 (permalink)  
Antiguo 20/03/2009, 12:26
Avatar de moron  
Fecha de Ingreso: mayo-2004
Mensajes: 972
Antigüedad: 20 años
Puntos: 2
Respuesta: traer datos desdo otro servidor

Buen punto. Lo tendré en cuenta.
gracias
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

SíEste tema le ha gustado a 2 personas




La zona horaria es GMT -6. Ahora son las 10:59.