Foros del Web » Programación para mayores de 30 ;) » Programación General »

Obtener datos de una web sin verla

Estas en el tema de Obtener datos de una web sin verla en el foro de Programación General en Foros del Web. Hola, quiero montar una aplicación para mandar unos correos determinados a un listado de personas que tengo, el problema es que para obtener la dirección ...
  #1 (permalink)  
Antiguo 03/03/2004, 10:34
 
Fecha de Ingreso: agosto-2002
Mensajes: 230
Antigüedad: 21 años, 8 meses
Puntos: 1
Obtener datos de una web sin verla

Hola, quiero montar una aplicación para mandar unos correos determinados a un listado de personas que tengo, el problema es que para obtener la dirección de correo necesito acceder a una página web, meter el identificador del cliente y así obtendría la dirección de correo. Mi idea es que esto fuera transparente, de manera que si en el listado tengo el nombre del cliente y su id, el programa consultara la web y obtuviera la dirección de correo de esa persona, ¿alguien me puede ayudar u orientar?

Muchas gracias anticipadas por vuestra ayuda
  #2 (permalink)  
Antiguo 03/03/2004, 10:58
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Con cURL (http://curl.haxx.se/) puedes realizar peticiones GET y POST a una URL, simulando el envio manual de esa informacion.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 03/03/2004, 11:36
 
Fecha de Ingreso: agosto-2002
Mensajes: 230
Antigüedad: 21 años, 8 meses
Puntos: 1
Hola Josemi, ante todo muchas gracias por la respuesta tan rápida, pero ahora tengo el problema de que no se como meterlo en mi proyecto de Visual Basic, yo esperaba algo así como una dll, ¿hay algo así?¿puedes ponerme un ejemplo de cómo hacerlo?Es que estuve echándole un vistazo a la página pero no me acabo de enterar

Muchas gracias
  #4 (permalink)  
Antiguo 03/03/2004, 12:43
Avatar de Jorge_Mota  
Fecha de Ingreso: diciembre-2002
Ubicación: Chapinlandia :-D
Mensajes: 725
Antigüedad: 21 años, 4 meses
Puntos: 11
intenta esto:

'Dim oIe As InternetExplorer.Application
dim oDoc as object
set oIe = createobject("internetexplorer.application")
oIe.Navigate2("http://tuPage.url/tuform.asp")
'&&aca un bucle para esperar a que oIe.busy sea igual a falso
oDoc=oie.document
odoc.forms(0).item(1).value = 'test'
oDoc.submit


ahora bien, solo es un ejemplo cutre.
debes saber que # de form es el definido
puedes probar con msgbox(odc.forms(N).name)
igual para los item

saludos.
__________________
Jorge Mota
Blog
Gubiz estafa
  #5 (permalink)  
Antiguo 03/03/2004, 12:46
 
Fecha de Ingreso: agosto-2002
Mensajes: 230
Antigüedad: 21 años, 8 meses
Puntos: 1
Muchas gracias, lo probaré y os comento
  #6 (permalink)  
Antiguo 04/03/2004, 08:28
Avatar de mveraa  
Fecha de Ingreso: diciembre-2002
Ubicación: santiago-chilito
Mensajes: 1.931
Antigüedad: 21 años, 3 meses
Puntos: 2
disculpa xaquin que me meta en tu pregunta pero alguien me explica para que sirven estas lineas


oDoc=oie.document
odoc.forms(0).item(1).value = 'test'
oDoc.submit


muchas gracias...
  #7 (permalink)  
Antiguo 04/03/2004, 09:41
Avatar de Jorge_Mota  
Fecha de Ingreso: diciembre-2002
Ubicación: Chapinlandia :-D
Mensajes: 725
Antigüedad: 21 años, 4 meses
Puntos: 11
oDoc = oIe.document
lo que haces, es obtener una referencia al objeto Document del internet explorer
es decir a la pagina o documento que este mostrando

oDoc.forms(0).item(1).value='Test'
le asignas el valor test al elemento 1 del formulario html de ese documento.

oDoc.Submit
envias el formulario HTML
como cuando das click en el boton "enviar" de las
paginas Web.


si te interesa, tengo este articulo, pero esta para
Visual FoxPro
http://www.panoramabox.com/GoPub.aspx?IdObj=725

que esta mas completo.

Saludos
__________________
Jorge Mota
Blog
Gubiz estafa
  #8 (permalink)  
Antiguo 04/03/2004, 10:56
Avatar de mveraa  
Fecha de Ingreso: diciembre-2002
Ubicación: santiago-chilito
Mensajes: 1.931
Antigüedad: 21 años, 3 meses
Puntos: 2
gracias por tu aclaracion , mmm entonces te expondre mi real duda.

hice un programa que envia datos usando vbasic a un script php , la duda que tengo es como hacerle saber a vbasic que mensaje le envio php por el navegador .

ej..


envio mi nick por get al script(php) , y php responde "tu nick esta aceptado "(en el explorer)

¿sabes o sabe alguien como hacer para vbasic pueda incorporar dentro de sus procesos dijo envio ? algo asi...


if (mensaje_enviado_por_php="tu nick esta aceptado " ) then

msgbox "tu nick llego a la pag."

end if


ojala me entiendan el punto , gracias de ante mano...
  #9 (permalink)  
Antiguo 04/03/2004, 11:19
Avatar de Jorge_Mota  
Fecha de Ingreso: diciembre-2002
Ubicación: Chapinlandia :-D
Mensajes: 725
Antigüedad: 21 años, 4 meses
Puntos: 11
pero como te lo devuelve ?
en html ?

si es asi, podrias revisar el objeto document y obtener una version solo texto del documento, y alli buscar si la cadena que quieres se encuentra en el texto.

oIe = CreateObject("InternetExplorer.application")
oIe.Navigate2("http://www.portalfox.com")
'&&aca esperar hasta que oIe.busy = .f. con un while
oDoc = oIe.Document
odoc.forms(0).item(1).value = 'tunick'
oDoc.submit
'&&aca de nuevo esperar con el while para oIe.Busy
Dim cCad
cCad = oDoc.body.innerText
'&&en cCad tendras una version solo texto (sin el codigo html) de 'la pagina para que busques la cadena que necesitas.
'si necesitas el codigo html tambien, usas
'cCad = oDoc.body.innerHTML
__________________
Jorge Mota
Blog
Gubiz estafa
  #10 (permalink)  
Antiguo 06/03/2004, 11:33
Avatar de mveraa  
Fecha de Ingreso: diciembre-2002
Ubicación: santiago-chilito
Mensajes: 1.931
Antigüedad: 21 años, 3 meses
Puntos: 2
hola intente poner lo que me enviaste pero me marca error , mira yo lo asi:

este es el codigo que envia datos php

vbasic:

Dim oIE As Object, cCad As String, cPar1
Set oIE = CreateObject("InternetExplorer.Application")

'valores a enviar

'user y clave a enviar
user1 = fconfigurar.Text1(0).Text
clave1 = fconfigurar.Text1(1).Text


cPar1 = "Un_Valor"
cCad = "http://localhost/prueba/prueba.php?user=" + user1 _
+ "&clave=" + clave1

oIE.MenuBar = True
oIE.TOOLBAR = True


oIE.Visible = false
oIE.Navigate2 (cCad)

While (oIE.BUSY = True)
msgbox "enviando datos"
Wend



end Sub




script php:esto recibe los datos que le manda vbasic por el navegador


<?php

//procede con el ingreso


$user=$_GET['user']; //recibe esto que envia vbasic por la url
$clave=$_GET['clave'];


//validar que es usuario y clave esten correctas

$id=mysql_connect("xxx","xxx","xxx")or die ("clave fallo1");
$conexion=mysql_select_db("xxx",$id) or die("no se pudo conectar");
$db="xx";



$sql="select * from compra where user='".$user."' and clave='".$clave."'";


$res=mysql_db_query($db,$sql)or die ("no se pudo ejecutar");
$num=mysql_num_rows($res);


IF ($num==0)
{

echo "lo siento su clave no existe "; //esto devuelve por el navegador
//esto es lo que quiero que vbasic reciba..

exit();

}
ELSE
{
ECHO "CLAVE ACEPTADA"; //esto devuelve por el navegador
//esto es lo que quiero que vbasic reciba..



}

en resumen vbasic manda user y clave por navegador a php , php responde si acepta o no , "acepta o no" es lo que quiero que vbasic entienda y actue en consecuencia de la respuesta..


muchas gracias,,
  #11 (permalink)  
Antiguo 08/03/2004, 10:31
Avatar de Jorge_Mota  
Fecha de Ingreso: diciembre-2002
Ubicación: Chapinlandia :-D
Mensajes: 725
Antigüedad: 21 años, 4 meses
Puntos: 11
lo que puedes hacer es en php, si la clave esta aceptada
redireccionala a una pagina digamos "correcto.html"
si no, envialo a "falla.html"

y luego en vb, al final del envio del documento, revisas por busy
cuando busy sea falso de nuevo, miras la locacion del documento con
oie.LocationURL
y haces
if oie.locationurl ="http://tudominio.com/correcto.html" then
'valido
else
'fallo
end if


Saludos.
__________________
Jorge Mota
Blog
Gubiz estafa
  #12 (permalink)  
Antiguo 09/03/2004, 08:15
Avatar de mveraa  
Fecha de Ingreso: diciembre-2002
Ubicación: santiago-chilito
Mensajes: 1.931
Antigüedad: 21 años, 3 meses
Puntos: 2
oye gracias por esa gran idea , no lo habia pensado..
  #13 (permalink)  
Antiguo 09/03/2004, 14:20
Avatar de mveraa  
Fecha de Ingreso: diciembre-2002
Ubicación: santiago-chilito
Mensajes: 1.931
Antigüedad: 21 años, 3 meses
Puntos: 2
me funciono de maravillas gracias a todos y a ti Jorge_Mota tambien en particular...
  #14 (permalink)  
Antiguo 09/03/2004, 15:00
Avatar de Jorge_Mota  
Fecha de Ingreso: diciembre-2002
Ubicación: Chapinlandia :-D
Mensajes: 725
Antigüedad: 21 años, 4 meses
Puntos: 11
de nada
no hay problema
__________________
Jorge Mota
Blog
Gubiz estafa
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 16:18.