Foros del Web » Programando para Internet » PHP »

Consulta aplicacion web pasar datos a otra web

Estas en el tema de Consulta aplicacion web pasar datos a otra web en el foro de PHP en Foros del Web. Hola a todos, antes que nada no se si corresponda que este mensaje este en el foro PHP porque no se que lenguaje necesito para ...
  #1 (permalink)  
Antiguo 20/11/2013, 08:13
 
Fecha de Ingreso: mayo-2011
Mensajes: 78
Antigüedad: 12 años, 10 meses
Puntos: 0
Sonrisa Consulta aplicacion web pasar datos a otra web

Hola a todos, antes que nada no se si corresponda que este mensaje este en el foro PHP porque no se que lenguaje necesito para realizar esta accion.

Lo que necesito es lo siguiente, estoy desarrollando una aplicacion web para una empresa maritima, que me solicito poder hacer una busqueda de los contenedores en la pagina web de la linea correspondiente. Para esto cada linea tiene su propia pagina donde uno ingresa el numero de contenedor y obtiene informacion del mismo.

Lo que yo querria es que desde mi aplicacion web, mediante un hipervinculo o del modo que sea necesario, haciendo click en el numero de contenedor me redireccione a la web de la maritima y me complete el numero de contenedor, si pudiera saltar este paso y directamente informarme el status seria mejor, pero por lo que vi la pagina de la maritima no pasa variables por URL por lo que veo complicado esto ultimo.

esta es la pagina de la maritima:

https://ecom.hamburgsud.com/ecom/en/....xhtml?lang=en

Les dejo un numero de contenedor para que prueben: SUDU7491369

La idea entonces seria que mediante un link en mi web, me direccione a la web que les deje mas arriba y autocomplete el textarea de la maritima con el numero de contenedor que yo envio desde mi web.

Les agradezco cualquier comentario y ayuda que puedan darme!!!

Saludos!!!
  #2 (permalink)  
Antiguo 20/11/2013, 09:02
Avatar de quinqui  
Fecha de Ingreso: agosto-2004
Ubicación: Chile!
Mensajes: 776
Antigüedad: 19 años, 8 meses
Puntos: 56
Respuesta: Consulta aplicacion web pasar datos a otra web

Holas, lisi1986.

Acá lo que necesitas es tener acceso al código fuente de las páginas de cada línea, de modo que puedas saber cómo recibe el dato (código de contenedor) dicha búsqueda y se lo puedas enviar por URL o por el medio que la página reciba.

En tu ejemplo, me da la impresión que el buscador de dicha página envía los datos por método POST. Tú podrías replicar el comportamiento del formulario que ellos usan (si es que el código fuente HTML está a la vista en dicha página) de modo que la página destino (el "action" de los formularios web) reciba el valor que corresponde. Puedes clonar el formulario entero, pero si quieres hacerlo así como dices, con un link que indique el código del contenedor, tendrías que usar Javascript para tomar el valor del link y simular el envío del formulario (con un form oculto, etc., hay muchas posibilidades).

Saludos!
__________________
pipus.... vieeeeeji plomius!!!
*quinqui site*
  #3 (permalink)  
Antiguo 20/11/2013, 09:24
 
Fecha de Ingreso: mayo-2011
Mensajes: 78
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Consulta aplicacion web pasar datos a otra web

Quinqui, el tema es que el codigo fuente no lo tengo... y no esta visible desde el navegador. No tengo otra alternativa? por eso pense que tal vez era mas factible completar el textarea mandando el numero de contenedor por URL. Esto es posible?
  #4 (permalink)  
Antiguo 20/11/2013, 09:52
Avatar de quinqui  
Fecha de Ingreso: agosto-2004
Ubicación: Chile!
Mensajes: 776
Antigüedad: 19 años, 8 meses
Puntos: 56
Respuesta: Consulta aplicacion web pasar datos a otra web

Es que no depende de ti: por eso te decía, tienes que averiguar cómo recibe el parámetro el buscador, para enviárselo siguiendo el mismo protocolo.

Al intentar mirar el código fuente con la herramienta de tu navegador, ¿no puedes ver el código fuente del formulario de búsqueda, donde ingresas el código? Debiera poder mostrarte el formulario (busca por la tag <form>) , o tal vez está hecho con javascript, el cual también es posible verlo por el navegador. Si la página está escrita de un modo semi encriptado, entonces ahí tendrás problemas, pero más que nada porque demorarás más en hallar lo que buscas, ya que en general no se puede ocultar lo que una página presenta, incluso si está generada con Ajax, puedes tantear hasta llegar al fuente original (no al script del servidor, sino al resultado que ve el cliente).

Si no puedes verlo, entonces no hay nada que hacer, supongo :( ... Tal vez algunos de los cracks de por acá sepan alguna otra forma de hacerlo :)

Saludos!
__________________
pipus.... vieeeeeji plomius!!!
*quinqui site*
  #5 (permalink)  
Antiguo 20/11/2013, 10:01
 
Fecha de Ingreso: mayo-2011
Mensajes: 78
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Consulta aplicacion web pasar datos a otra web

En cuanto a FORM la pagina tiene esto:

Código HTML:
<form id="vnpc6yyu26-retrieve-update" name="vnpc6yyu26-retrieve-update" method="post" action="/ecom/en/ecommerce_portal/track_trace/track__trace/ep_trackandtrace.xhtml">
<input type="hidden" value="vnpc6yyu26-retrieve-update" name="vnpc6yyu26-retrieve-update">
<input type="hidden" value="jzho8nf6x3" name="ice.window">
<input type="hidden" value="vnpc6yyu26" name="ice.view">
<script id="vnpc6yyu26-retrieve-update:vnpc6yyu26-retrieve-update_captureSubmit" type="text/javascript">
ice.captureSubmit('vnpc6yyu26-retrieve-update',false);ice.captureKeypress('vnpc6yyu26-retrieve-update',null);
</script>
<input id="javax.faces.ViewState" type="hidden" autocomplete="off" value="4315037024178550136:-4521817046355954896" name="javax.faces.ViewState">
</form>
<form id="vnpc6yyu26-single-submit" name="vnpc6yyu26-single-submit" method="post" action="/ecom/en/ecommerce_portal/track_trace/track__trace/ep_trackandtrace.xhtml">
<input type="hidden" value="vnpc6yyu26-single-submit" name="vnpc6yyu26-single-submit">
<input type="hidden" value="jzho8nf6x3" name="ice.window">
<input type="hidden" value="vnpc6yyu26" name="ice.view">
<script id="vnpc6yyu26-single-submit:vnpc6yyu26-single-submit_captureSubmit" type="text/javascript">
ice.captureSubmit('vnpc6yyu26-single-submit',false);ice.captureKeypress('vnpc6yyu26-single-submit',null);
</script>
<input id="javax.faces.ViewState" type="hidden" autocomplete="off" value="4315037024178550136:-4521817046355954896" name="javax.faces.ViewState">
</form> 
Honestamente no se donde esta el input donde ingreso el numero de contenedor como para saber el nombre de la variable que envia. Por lo que veo en el action la pagina se recarga a si misma con el valor pasado por POST. El tema seria saber el nombre de la variable y ver como puedo enviarle a esa pagina un valor de esa variable por POST desde "afuera" de la pagina.

Te agradezco mucho tu ayuda!!
  #6 (permalink)  
Antiguo 20/11/2013, 10:17
Avatar de quinqui  
Fecha de Ingreso: agosto-2004
Ubicación: Chile!
Mensajes: 776
Antigüedad: 19 años, 8 meses
Puntos: 56
Respuesta: Consulta aplicacion web pasar datos a otra web

También le eché una mirada hace un rato, y no es un input, es un textarea. Hay varias funcionalidades Javascript entre medio, que no sé si afectarán el envío del formulario, pero para eso tendrás que probar.

El código que has puesto acá no es el mismo que yo vi: busca por las palabras legibles que salen en la página, yo busqué por "Reference" y ahí encontré el form indicado: el ID y el NAME del control tienen un valor raro, que probablemente es manejado por Javascript... Como sea, prueba clonar el form en una página limpia tuya, sólo con el form y el textarea, sin javascript, a ver qué pasa (aunque en teoría, también puedes acceder a las librerías javascript desde otro servidor, sólo tendrías que hacer lo mismo que con el ACTION del form, agregar el nombre de dominio a las URL).

Código HTML:
<form action="/ecom/en/ecommerce_portal/track_trace/track__trace/ep_trackandtrace.xhtml" enctype="application/x-www-form-urlencoded" id="j_idt34:j_idt36" method="post" name="j_idt34:j_idt36">
<input name="j_idt34:j_idt36" type="hidden" value="j_idt34:j_idt36" />
<input name="ice.window" type="hidden" value="jzho8p61wa" /><input name="ice.view" type="hidden" value="vnpc6yyu9f" /><script id="j_idt34:j_idt36:j_idt36_captureSubmit" type="text/javascript">ice.captureSubmit('j_idt34:j_idt36',false);ice.captureKeypress('j_idt34:j_idt36',null);</script><span id="j_idt34:j_idt36:messageContainer"></span>
                <div class="content">            
                    <label>Reference*</label><textarea class="iceInpTxtArea" cols="50" id="j_idt34:j_idt36:tntReferenceText" name="j_idt34:j_idt36:tntReferenceText" onblur="setFocus('');iceSubmitPartial(form, this, event);" onchange="Ice.txtAreaMaxLen(this,1600);" onkeydown="Ice.txtAreaMaxLen(this,1600);" onmousedown="this.focus();" rows="10">SUDU7491369</textarea>
                    <div class="formfield">
                        <b><span id="j_idt34:j_idt36:_t43">* Search by container, booking or B/L. </span><span id="j_idt34:j_idt36:_t44">More than one number can be separated by comma.</span></b>
                    </div>
                    <div class="clearfix"> </div>
                    <div class="note" style="background-color:#A8A8A8; padding-left: 10px">
                        <br /><span id="j_idt34:j_idt36:_t61">You can also choose to retrieve the Track &amp; Trace function by email: </span><span class="iceOutTxt" id="j_idt34:j_idt36:j_idt62"><a href="mailto:[email protected]?body=Please%20enter%20your%20container,%20B/L%20and%2For%20booking%20numbers,%20separated%20by%20comma,%20in%20the%20subject%20line."> tracking(at)hamburgsud.com</a></span><br /><span id="j_idt34:j_idt36:_t65">To do so, please enter your container, B/L and/or booking numbers, separated by comma, in the subject line.</span>
                        <br> </br>
                    </div>      
                    <div class="clearfix">
                        <br />                            
                    </div>    
                    <div class="formfield"><input class="epButtonRed spaceBetweenEpButtons forward floatr" id="j_idt34:j_idt36:btnSearchd" name="j_idt34:j_idt36:btnSearchd" type="submit" value="Find" /><input class="epButton cancel floatl" id="j_idt34:j_idt36:btnReset" name="j_idt34:j_idt36:btnReset" type="submit" value="Reset" />
                    </div> 
                </div><span id="j_idt34:j_idt36hdnFldsDiv"><input name="icefacesCssUpdates" type="hidden" value="" /></span><input type="hidden" name="javax.faces.ViewState" id="javax.faces.ViewState" value="5254072753465278417:-7421683305987785940" autocomplete="off" />
</form> 
Saludos!
__________________
pipus.... vieeeeeji plomius!!!
*quinqui site*
  #7 (permalink)  
Antiguo 20/11/2013, 11:09
Avatar de Dalam  
Fecha de Ingreso: septiembre-2010
Mensajes: 409
Antigüedad: 13 años, 7 meses
Puntos: 56
Respuesta: Consulta aplicacion web pasar datos a otra web

Mira estas son las variables que envia el formulario a la pagina https://ecom.hamburgsud.com/ecom/en/...andtrace.xhtml

j_idt33:j_idt35:j_idt33:j_idt35
ice.window:3gho8t15be
ice.view:vi9ztarte3
j_idt33:j_idt35:tntReferenceText:SUDU7491369
icefacesCssUpdates:
javax.faces.ViewState:-2974119120704055382:2902309715883957129
javax.faces.source:j_idt33:j_idt35:tntReferenceTex t
javax.faces.partial.event:blur
javax.faces.partial.execute:@all
javax.faces.partial.render:@all
ice.window:3gho8t15be
ice.view:vi9ztarte3
ice.focus:
ice.event.target:j_idt33:j_idt35:tntReferenceText
ice.event.captured:j_idt33:j_idt35:tntReferenceTex t
ice.event.type:onblur
ice.submit.type:ice.s
ice.submit.serialization:form
ice.submit.partial:true
javax.faces.partial.ajax:true


Hay varios valores que tienes que tener en cuenta como son javax.faces.partial.event y las cookies de respuesta.
esto te carga la pagina y te redirecciona a otra.
Lo que te aconsejo es que si quieres automatizarlo uses CURL.
  #8 (permalink)  
Antiguo 20/11/2013, 18:21
 
Fecha de Ingreso: mayo-2011
Mensajes: 78
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Consulta aplicacion web pasar datos a otra web

Cita:
Iniciado por Dalam Ver Mensaje
Mira estas son las variables que envia el formulario a la pagina https://ecom.hamburgsud.com/ecom/en/...andtrace.xhtml

j_idt33:j_idt35:tntReferenceText:SUDU7491369


Hay varios valores que tienes que tener en cuenta como son javax.faces.partial.event y las cookies de respuesta.
esto te carga la pagina y te redirecciona a otra.
Lo que te aconsejo es que si quieres automatizarlo uses CURL.
Esa variable es la que me interesa por lo que veo porque es la que contiene el numero del contenedor.

Si se puede saber, como sacaste esta lista de variables? Ahora voy a investigar sobre cURL a ver como puedo hacerlo, la idea es mandar a la pagina que mencionas esa variable con el numero de contenedor que corresponda y que ya me largue el status del contenedor.

Cualquier otro dato que me puedas aportar me sirve muchisimo!!!
  #9 (permalink)  
Antiguo 20/11/2013, 19:17
Avatar de Dalam  
Fecha de Ingreso: septiembre-2010
Mensajes: 409
Antigüedad: 13 años, 7 meses
Puntos: 56
Respuesta: Consulta aplicacion web pasar datos a otra web

Creo que necesitas enviar todas las variables que te puse, por que hay un archivo js que chequea varias cosas, entre ellas el click en el boton.
Aunque hay programadores que no lo enrredan, hay muchos sitios que es necesario hacer click en algun boton.
Esto anterior lo puedes solucionar de varias maneras, pero la mas rapida es como en un navegador; escribes en el espacio de la url "javascript:**AQUI LOS COMANDOS QUE QUIERAS QUE EJECUTE JAVASCRIPT EN LA PAGINA ACTUAL**".

CURL basicamente es un navegador web por linea de comandos.
  #10 (permalink)  
Antiguo 20/11/2013, 19:24
 
Fecha de Ingreso: mayo-2011
Mensajes: 78
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Consulta aplicacion web pasar datos a otra web

Cita:
Iniciado por Dalam Ver Mensaje
Esto anterior lo puedes solucionar de varias maneras, pero la mas rapida es como en un navegador; escribes en el espacio de la url "javascript:**AQUI LOS COMANDOS QUE QUIERAS QUE EJECUTE JAVASCRIPT EN LA PAGINA ACTUAL**".

CURL basicamente es un navegador web por linea de comandos.

No entendi lo que me quisiste decir con en el espacio de la url, te referis a la barra de navegacion? Podrias ponerme por ejemplo como pasarias una variable de esta forma para entender lo que me queres decir?

No me dijiste como hacer para sacar todas las variables que me pasaste, necesito hacer esto que estamos haciendo con Hamburg Sud con el resto de las lineas maritimas asi que voy a tener que investigar mas de una pagina...

Muchas gracias Dalam!!
  #11 (permalink)  
Antiguo 21/11/2013, 14:30
Avatar de Dalam  
Fecha de Ingreso: septiembre-2010
Mensajes: 409
Antigüedad: 13 años, 7 meses
Puntos: 56
Respuesta: Consulta aplicacion web pasar datos a otra web

si, en la barra del navegador
mira prueba a poner un alert
escribe en la barra de navegacion

javascript:alert('Esto es un alert enviado desde la barra de navegacion');

y veras que se ejecuta la sentencia como si la propia pagina lo estubiera mandando.


Con esto tienes acceso al DOM y a todo lo que tenga cargado el navegador de dicha pagina.
Luego solo es cuestion de usarlo para realizar las tareas que necesites

Etiquetas: aplicacion, curl, html, variable
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 03:51.