Muy buenas, me gustaría saber si se podría hacer lo siguiente...

Como todos sabemos, esta misma web tiene un apartado de registración,
es posible, que la información que nos pide en el registro la pongamos en
un Form, con sus texbox, y enviar la información desde el formulario a la página
web y registrarnos...

Por si no me expliqué bien, ( la costumbre ) , la cosa sería, imaginate que una web
tiene un " textbox " , donde tienes que poner "hola" para poder continuar, lo
que yo me pregunto es, imaginaros crear un textbox en un formulario de VB
desde ahí, escribir hola y enviar la información a la web...

Eso se podría hacer ?

Imagen

http://img844.imageshack.us/img844/8088/mujerrara.jpg
http://img715.imageshack.us/img715/5813/tigree.png
http://img830.imageshack.us/img830/6484/camaleon.png

http://img839.imageshack.us/img839/4944/tigrev2.jpg
http://img843.imageshack.us/img843/443/spidermanxn.png

http://www.youtube.com/watch?v=wHYYkciIKE0
Sí... usa un webbrowser x) y controlas a los campos mediante su id o name desde la propiedad document, es como si combinaras javascript con vb6 x)

Código: Seleccionar todo

webbrowser1.document.getElementById("id").value="valor"
//mHmm..

Código: Seleccionar todo

webbrowser1.document.getElementById("id").value="valor"
perdon que no te ayude Xpro, pero me surgio una duda con linkgl


value="valor" en esta parte el nombre "valor" lo mandaria a la web? como dice Xpro.
perdon pero me surgio esa duda!
Imagen

♪♪ 2pac & Notorius B.I.G ♪♪
¿Por qué estoy luchando para vivir cuando estoy solo viven para luchar,
¿Por qué estoy tratando de ver cuando no hay nada a la vista,
¿Por qué estoy tratando de dar cuando nadie me da una oportunidad,
¿Por qué estoy muriendo para vivir cuando yo estoy viviendo para morir.♪♪
Obteniendo el codigo html y de ahi haces sacas los datos necesarios

Código: Seleccionar todo

Option Explicit
Public Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long
Public Declare Function InternetOpenUrl Lib "wininet.dll" Alias "InternetOpenUrlA" (ByVal hInternetSession As Long, ByVal sURL As String, ByVal sHeaders As String, ByVal lHeadersLength As Long, ByVal lFlags As Long, ByVal lContext As Long) As Long
Public Declare Function InternetReadFile Lib "wininet.dll" (ByVal hFile As Long, ByVal sBuffer As String, ByVal lNumBytesToRead As Long, lNumberOfBytesRead As Long) As Integer
Public Declare Function InternetCloseHandle Lib "wininet.dll" (ByVal hInet As Long) As Integer

Public Const IF_FROM_CACHE = &H1000000
Public Const IF_MAKE_PERSISTENT = &H2000000
Public Const IF_NO_CACHE_WRITE = &H4000000
     
Private Const BUFFER_LEN = 256


Public Function GetUrlSource(sURL As String) As String
    Dim sBuffer As String * BUFFER_LEN, iResult As Integer, sData As String
    Dim hInternet As Long, hSession As Long, lReturn As Long
    hSession = InternetOpen("vb wininet", 1, vbNullString, vbNullString, 0)
    If hSession Then hInternet = InternetOpenUrl(hSession, sURL, vbNullString, 0, IF_NO_CACHE_WRITE, 0)
    If hInternet Then
        iResult = InternetReadFile(hInternet, sBuffer, BUFFER_LEN, lReturn)
        sData = sBuffer
        Do While lReturn <> 0
            iResult = InternetReadFile(hInternet, sBuffer, BUFFER_LEN, lReturn)
            sData = sData + Mid(sBuffer, 1, lReturn)
        Loop
    End If
 

    iResult = InternetCloseHandle(hInternet)

    GetUrlSource = sData
End Function

Es facil usar, sirve para obtener el codigo de fuente!
¡Atención! LuisN2.com ha caido, pero el blog sigue estando en www.luisn2indetectables.blogspot.com o www.LuisN2.cz.cc
Si no me equivoco, igual si lo que quieres es rellenar campos de un formulario puede que no puedas, si usa GET ([Enlace externo eliminado para invitados]) si podrás, obteniendo el codigo de la linea con la funcion anterior. Si utiliza el metodo post lamentablemente creo que no puedes

Espero ayudarte!
¡Atención! LuisN2.com ha caido, pero el blog sigue estando en www.luisn2indetectables.blogspot.com o www.LuisN2.cz.cc
No entiendo, el source para que ? , probé la función con esta misma web
y no me dió nada... (?) .

Luego, desde un navegador, si pongo un navegador en el formulario no será
lo mismo que hacerlo desde el mozilla xD ? , la cosa sería que aunque una vez
en el formulario pudiera controlar lo que poner en un texbox de la web.. que nose
si te referías a eso con lo del javascript, y sin el javascript no se podría hacer?

( No tengo ni idea de javascript )

Saludos
Imagen

http://img844.imageshack.us/img844/8088/mujerrara.jpg
http://img715.imageshack.us/img715/5813/tigree.png
http://img830.imageshack.us/img830/6484/camaleon.png

http://img839.imageshack.us/img839/4944/tigrev2.jpg
http://img843.imageshack.us/img843/443/spidermanxn.png

http://www.youtube.com/watch?v=wHYYkciIKE0
Dices introducir datos? :S Si es enviar datos mi info segunda es correcta! Si lo ke kieres es rellenar un campo podrias usar webvrowser + sendkeys, tab para llegar al campo... Pero no puede hacerse eso oculto!
¡Atención! LuisN2.com ha caido, pero el blog sigue estando en www.luisn2indetectables.blogspot.com o www.LuisN2.cz.cc
Hay 3 formas básicas de interactuar con una web:
Sockets
WebBrowser (Incluye crear una nueva ventana de IE controlable)
Innet

Y 3 formas de interactuar:
Get
Post
Javascript (Solo con Control WebBrowser, o nueva ventana IE)

Tanto para Sockets como para los metodos Get y Post, necesitas saber el protocolo HTTP.
Encambio, para Javascript, simlemente haces:
Navigate javascript: instrucción javascript;
Para el Get, puedes hacer Navigate, y establecer un valor variables en php, me explico: accedes a la web
[Enlace externo eliminado para invitados]
y después de hacer x acciones, llegas a
[Enlace externo eliminado para invitados]
pues eso es un ejemplo de get, con parámetro en php.

Saludos!

P.D: que pena que no haya mucha info sobre esto. Cualquier duda, ya sabes como contactar xD
github.com/Slek-Z
lo mejor que puedes hacer es instalarte el "HTTP LIVE HEADER" ( [Enlace externo eliminado para invitados] ) , y revisar como envia el navegador las peticiones a las paginas, es mucho mejor hacer eso ya que aprendes sobre peticiones HTTP , y luego emular la peticion HTTP enviando los datos con winsock hacia la pagina.


esta es la peticion que me envio el navegador hacia indetectables, cuando envie el post

Código: Seleccionar todo

POST /foro/posting.php?mode=reply&f=13&t=26633 HTTP/1.1
Host: indetectables.net
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.9.2.9) Gecko/20100824 Firefox/3.6.9
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: es-es,es;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://indetectables.net/foro/viewtopic.php?f=13&t=26633
Cookie: __utma=1793385.2101266348.1284322520.1284343349.1284399965.4; __utmz=1793385.1284322520.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); DSR-Captcha=c16aaaf0e4e7a3a18f133ad1d848b663ab5603db; exxocet_ind_u=42842; exxocet_ind_k=; exxocet_ind_sid=350e0f5eb5e3e585817ce616a5c5fd63; 7ec0f88b6e2d46a404fd92eb6cbf640a=8d11eaa873d72754a9fb46a30d822b77; 6c5a92b34d56d4f9eea56f29fd62d853=3a4fd8c3860dabfdfb21362e6853609c
Content-Type: application/x-www-form-urlencoded
Content-Length: 616
subject=Re%3A+Interactuar+con+una+p%C3%A1gina+web%2C+desde+VB&message=lo+mejor+que+puedes+hacer+es+instalarte+el+%22HTTP+LIVE+HEADER%22+%28+https%3A%2F%2Faddons.mozilla.org%2Fen-US%2Ffirefox%2Faddon%2F3829%2F+%29+%2C+y+revisar+como+envia+el+navegador+las+peticiones+a+las+paginas%2C+es+mucho+mejor+hacer+eso+ya+que+aprendes+sobre+peticiones+HTTP+%2C+y+luego+emular+la+peticion+HTTP+enviando+los+datos+con+winsock+hacia+la+pagina.%0D%0A%0D%0A&post=Submit&creation_time=1284401124&form_token=7859db4905e70b3186af9d430defc83a5bebd6c7&topic_cur_post_id=230421&lastclick=1284401124&topic_id=26633&forum_id=13&attach_sig=1
ya sabiendo que significan algunas cosas, ya puedes hacer un floder para la web o cualquier web que quieras.


PD: da igual si la pagina recive los datos por GET o por POST de las dos formas se pueden enviar los datos.
Y si no tiene mozilla firefox ?


Slek, creo que me decanto por el ejemplo más facil, el javascript...
Está muy bien explicado, pero lo mio siempre será la práctica... podrías,
hacer un proyecto , en el cual le enviaras a por ejemplo, la URL de registro
de esta web, pues que el username fuera un texbox.. donde enviaras
la info etc..

Si no es mucho pedir, GRACIAS. ( a todos. )
Imagen

http://img844.imageshack.us/img844/8088/mujerrara.jpg
http://img715.imageshack.us/img715/5813/tigree.png
http://img830.imageshack.us/img830/6484/camaleon.png

http://img839.imageshack.us/img839/4944/tigrev2.jpg
http://img843.imageshack.us/img843/443/spidermanxn.png

http://www.youtube.com/watch?v=wHYYkciIKE0
Por ejemplo para loguearte aqui podrias hacer algo así:

Código: Seleccionar todo

Private Sub Form_Load()
WebBrowser1.Navigate ("http://indetectables.net/foro/ucp.php?mode=login")
End Sub


Private Sub Command1_Click()
Me.WebBrowser1.Document.All("username").Value = Text1.Text
Me.WebBrowser1.Document.All("password").Value = Text2.Text
 Dim HTML
 Dim HTMLI
     
 Set HTML = WebBrowser1.Document
For Each HTMLI In HTML.getElementsByTagName("input")
     If HTMLI.Value = "Identificarse" Then
       HTMLI.Click
       Exit Sub
     End If
   Next
End Sub
Solo necestarias un control WebBrowser, dos TextBox y un CommandButton

Saludos
Imagen
la idea es que tu instales y averigues sobre las peticiones HTTP, despues da lo mismo si otra persona utiliza tu programa y no tiene instaldo firefox.
Hombre, no se tanto de javascript como para intentar hacer algo así, pero mi idea es ir adaptandose a la página.
Indetectables está hecho en php, por tanto, solo tienes que averiguar las variables y listo, debería funcionar.
Además, todos los Log In suelen ser por Post, y el Post es mucho más complejo que el Get.
Pero no es imposible.
La manera que dice empezando es la más común que hay por internet.

Bajate también el WPE Pro (Editor de Paquetes), es sumamente útil para cuanquier tarea que tenga conexión.

Suerte!
github.com/Slek-Z
Oooookei, gracias por la info slek , y gracias por el ejemplo Empezando, funciona
perfecto y es algo así el ejemplo que quería !!!!

Saludos!


EDIT:


Ahora haciendo un code, me surgió una duda, estoy intentando completar
un campo de Sexo: Femenino Masculino, ( el típico que hacees click y te
dá las 2 opciones )

En el code tiene:


<label id="gender-label" for="gender">Sexo:</label>
<div id="gender-wrapper" class="input-wrapper"><select class="singleselectfield requiredfield" id="gender" name="gender" tabindex="1">
<option selected="selected" value="">Sexo:</option><option value="female">Femenino</option><option value="male">Masculino</option>
</select></div>



Probé cambiando tanto a male / female, como masculino y femenino minúsculas etc,
pero no se pone ninguna de ellas, simplemente se pone en blanco...


Probé en otro caso, donde se trataba de números y si funcionó.. pero no entiendo
porque ahora, no.

Saludos!


EDIT2:


Se podría checar un chetbox ? en plan como esta web el de recordar pass..
Imagen

http://img844.imageshack.us/img844/8088/mujerrara.jpg
http://img715.imageshack.us/img715/5813/tigree.png
http://img830.imageshack.us/img830/6484/camaleon.png

http://img839.imageshack.us/img839/4944/tigrev2.jpg
http://img843.imageshack.us/img843/443/spidermanxn.png

http://www.youtube.com/watch?v=wHYYkciIKE0
Con javascript en el navegador, javascript: (¿algo?) Eso es lo que no se, estoy probando, pero no puedo cambiarlo a no ser que cada option tenga un id, si el code es tuyo, con id se puede, si no es tuyo creo que se puede, pero ya no se :S

Saludos!
¡Atención! LuisN2.com ha caido, pero el blog sigue estando en www.luisn2indetectables.blogspot.com o www.LuisN2.cz.cc
Responder

Volver a “VB/.NET”