elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  visual basic 6 HTTP request
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: visual basic 6 HTTP request  (Leído 6,248 veces)
markx

Desconectado Desconectado

Mensajes: 11


Ver Perfil
visual basic 6 HTTP request
« en: 27 Agosto 2007, 21:40 pm »

hola he estado intentando hacer una peticion http utilizando el control winsock de visual y que me imprima la respuesta en un textbox ( o sea el kodigo html de la pagina) pero se me es inutil... aki les dejo lo que intente:


Citar
Dim datos As String

Private Sub Command1_Click()
Winsock1.Close
Winsock1.Connect "www.google.com", 80

End Sub



Private Sub WS_DataArrival(ByVal bytesTotal As Long)
On Error Resume Next

Strtrequest = "GET /" + Text2.Text & " HTTP/1.1" & vbCrLf
Strtrequest = strrequest & "Host: " & Text1.Text & vbCrLf
Strtrequest = strrequest & "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.1) Gecko/20060111 Firefox/2.0.1" & vbCrLf
Strtrequest = strrequest & "Accept-Language: en-us,en;q=0.5" & vbCrLf
Strtrequest = strrequest & "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7" & vbCrLf
Strtrequest = strrequest & "Keep-Alive: 300" & vbCrLf
Strtrequest = strrequest & "" & vbCrLf
Strtrequest = strrequest & "Connection: keep-alive" & vbCrLf
Strtrequest = strrequest & "Referer: " & Text1.Text & vbCrLf



Winsock1.SendData Strtrequest



Winsock1.GetData datos
Text1.Text = Text1.Text + datos

End sub



En línea

papanoel_devacaciones


Desconectado Desconectado

Mensajes: 428


Ver Perfil
Re: visual basic 6 HTTP request
« Respuesta #1 en: 27 Agosto 2007, 22:18 pm »

bueno buscando por ahi encontre uno que te serviria para obtener el codigo fuente de la pagina que deseas:
Tiene que tener un RichTextBox + un Command1...y bueno el rich text box le tienes que poner los scrollbars verticales. XDDD
Código
  1. Option Explicit
  2.  
  3.  
  4. ' Constantes para las funciones Api
  5. Const scUserAgent = "API-Guide test program"
  6. Const INTERNET_OPEN_TYPE_DIRECT = 1
  7. Const INTERNET_OPEN_TYPE_PROXY = 3
  8. Const INTERNET_FLAG_RELOAD = &H80000000
  9. Const INTERNET_FLAG_NO_CACHE_WRITE = &H4000000
  10.  
  11. ' Esta funcio'n crea una conexio'n a internet
  12. Private Declare Function InternetOpen Lib "wininet" Alias "InternetOpenA" ( _
  13.    ByVal sAgent As String, _
  14.    ByVal lAccessType As Long, _
  15.    ByVal sProxyName As String, _
  16.    ByVal sProxyBypass As String, _
  17.    ByVal lFlags As Long) As Long
  18.  
  19. ' Esta Api abre un Url
  20. Private Declare Function InternetOpenUrl Lib "wininet" Alias "InternetOpenUrlA" ( _
  21.    ByVal hInternetSession As Long, _
  22.    ByVal lpszUrl As String, _
  23.    ByVal lpszHeaders As String, _
  24.    ByVal dwHeadersLength As Long, _
  25.    ByVal dwFlags As Long, _
  26.    ByVal dwContext As Long) As Long
  27.  
  28. ' Esta cierra la conexio'n pasandole el Handle que habi'amos obtenido antes
  29. Private Declare Function InternetCloseHandle Lib "wininet" (ByVal hInet As Long) As Integer
  30.  
  31. ' Esta Api lee el contenido y lo devuelve en un Buffer que _
  32.     contendra' el contenido del fichero
  33. Private Declare Function InternetReadFile Lib "wininet" ( _
  34.    ByVal hFile As Long, _
  35.    ByVal sBuffer As String, _
  36.    ByVal lNumBytesToRead As Long, _
  37.    lNumberOfBytesRead As Long) As Integer
  38.  
  39. Private Sub Command1_Click()
  40.  
  41. Dim hOpen As Long
  42. Dim hFile As Long
  43. Dim sBuffer As String * 128
  44. Dim Ret As Long
  45. Dim str_Total As String
  46. Dim Url As String
  47.  
  48.  
  49.    Url = InputBox(" Escribir la direccio'n Url incluyendo el Http://", " Abrir Url ")
  50.  
  51.    If Url = vbNullString Then Exit Sub
  52.  
  53.    ' Abrimos una conexio'n a internet
  54.    hOpen = InternetOpen(scUserAgent, INTERNET_OPEN_TYPE_DIRECT, _
  55.                         vbNullString, vbNullString, 0)
  56.  
  57.    ' Si devuelve 0 es por que o no hay conexio'n a internet u otro error
  58.    If hOpen = 0 Then
  59.        MsgBox " Error al intentar conectar a Internet ", vbCritical
  60.        Exit Sub
  61.    Else
  62.        'Abrimos la url
  63.        hFile = InternetOpenUrl(hOpen, Trim$(Url), vbNullString, _
  64.                            ByVal 0&, INTERNET_FLAG_NO_CACHE_WRITE, ByVal 0&)
  65.    End If
  66.  
  67.    If hFile = 0 Then
  68.       'Error
  69.       MsgBox " Error al querer acceder al archivo ", vbCritical
  70.       Exit Sub
  71.    Else
  72.  
  73.        'Lee una porcio'n del fichero ( 128 bytes )
  74.        Call InternetReadFile(hFile, sBuffer, 128, Ret)
  75.  
  76.        str_Total = sBuffer
  77.  
  78.        While Ret <> 0
  79.            'Lee de 128 bytes. Cuando ret devuelve 0 finalizo'
  80.            Call InternetReadFile(hFile, sBuffer, 128, Ret)
  81.  
  82.            'Va acumulando el archivo para luego asignarlo al RichTextBox
  83.            str_Total = str_Total & Mid(sBuffer, 1, Ret)
  84.  
  85.            DoEvents
  86.        Wend
  87.  
  88.    End If
  89.  
  90.    'Cerramos el handle anterior (del archivo y de la conexio'n a internet )
  91.    Call InternetCloseHandle(hFile)
  92.    Call InternetCloseHandle(hOpen)
  93.  
  94.    'Mostramos el fichero en el control RichTextBox
  95.    RichTextBox1 = str_Total
  96.  
  97.    'Finalizado
  98.    MsgBox " Listo ", vbInformation
  99.  
  100. End Sub
  101.  
  102. Private Sub Form_Load()
  103.  
  104. Command1.Caption = " >> Obtener archivo "
  105. Me.Caption = " Ejemplo para obtener el co'digo fuente de una pa'gina "
  106. End Sub
  107.  
  108.  

Fuente: http://www.recursosvisualbasic.com.ar/htm/listado-api/api-24.htm

Saludos


« Última modificación: 28 Agosto 2007, 19:10 pm por smokehack_ » En línea

markx

Desconectado Desconectado

Mensajes: 11


Ver Perfil
Re: visual basic 6 HTTP request
« Respuesta #2 en: 27 Agosto 2007, 22:27 pm »

em mm muxas gracias pero la idea era poder ver q hice mal, porque no funciona mi code xD
alguna idea?
En línea

HaDeS, -
WarZone Master

Desconectado Desconectado

Mensajes: 284



Ver Perfil WWW
Re: visual basic 6 HTTP request
« Respuesta #3 en: 28 Agosto 2007, 01:44 am »

Intenta quitar este pedazo de codigo del evento DataArrival del Winsock, y metelo mejor en el evento Click de un comando
Código
  1. Strtrequest = "GET /" + Text2.Text & " HTTP/1.1" & vbCrLf
  2. Strtrequest = strrequest & "Host: " & Text1.Text & vbCrLf
  3. Strtrequest = strrequest & "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.1) Gecko/20060111 Firefox/2.0.1" & vbCrLf
  4. Strtrequest = strrequest & "Accept-Language: en-us,en;q=0.5" & vbCrLf
  5. Strtrequest = strrequest & "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7" & vbCrLf
  6. Strtrequest = strrequest & "Keep-Alive: 300" & vbCrLf
  7. Strtrequest = strrequest & "" & vbCrLf
  8. Strtrequest = strrequest & "Connection: keep-alive" & vbCrLf
  9. Strtrequest = strrequest & "Referer: " & Text1.Text & vbCrLf
  10.  
  11.  
  12.  
  13. Winsock1.SendData Strtrequest
  14.  
Ademas se nota mucho que no conoces las peticiones http, al final debes agregar un doble vbcrlf, al menos que estes haciendo un post.
saludos;)
« Última modificación: 28 Agosto 2007, 01:46 am por HaDeS, - » En línea

LeandroA
Moderador
***
Desconectado Desconectado

Mensajes: 760


www.leandroascierto.com


Ver Perfil WWW
Re: visual basic 6 HTTP request
« Respuesta #4 en: 28 Agosto 2007, 02:14 am »

jaja hay un monton de errores bien mientras estaba por responerte ya te pusieron algunos. pero mia bien esto


Primero

Strtrequest = strrequest

no son iguales, consejo pone siempre Option Explicit y no vas a tener estos problemas

Segundo

Private Sub WS_DataArrival(ByVal bytesTotal As Long)

nunca iva a llegar nada porque tu control se llama winsock1 no WS

Tercero

al terminar la cabesera como lla te digeron Debes terminar con vbCrLf & vbCrLf

Cuarto

para enviar la peticion Debes ponerlo en el evento Winsock1_Connect


el ejemplo buscando la palabra "hola"

Código:
Option Explicit


Private Sub Command1_Click()
    Winsock1.Close
    Winsock1.Connect "www.google.com", 80
End Sub


Private Sub Winsock1_Connect()

Dim StrRequest As String

StrRequest = "GET /search?hl=es&q=hola&btnG=Buscar+con+Google&meta= HTTP/1.1" & vbCrLf & _
"User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" & vbCrLf & _
"Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5" & vbCrLf & _
"Accept-Language: es-es,es;q=0.8,en-us;q=0.5,en;q=0.3" & vbCrLf & _
"Accept -Encoding: gzip , deflate" & vbCrLf & _
"Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7" & vbCrLf & _
"Keep-Alive: 300" & vbCrLf & _
"Connection: keep -alive" & vbCrLf & vbCrLf


Winsock1.SendData StrRequest

End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim datos As String
Winsock1.GetData datos
Text1.Text = Text1.Text + datos
End Sub

En línea

ActiveSheet


Desconectado Desconectado

Mensajes: 389


Feeling Jazz


Ver Perfil WWW
Re: visual basic 6 HTTP request
« Respuesta #5 en: 28 Agosto 2007, 06:03 am »

digo yo i cual es el problema con el control Inet.

 no nesesitas los RichTextBox, aparte que en lo personal me cae mal ese Control   :¬¬

Código
  1. Option Explicit
  2. Dim Url As String
  3. Private Sub cmdExt_Click()
  4.    Url = txtURL.Text
  5.    If Len(Url) > 11 Then
  6.        txtCode.Text = intCon.OpenURL(Url)
  7.        MsgBox "ya esta el code we", vbOKOnly, ""
  8.    Else
  9.        MsgBox "Pon un Url valido", vbCritical, "Extorcionador"
  10.    End If
  11. End Sub

asta supongo que ay mayor compatibilidad que con el winsock casi no ay muchas personas que tengan ese control

digo personas ya saben como xD
« Última modificación: 28 Agosto 2007, 06:05 am por ActiveSheet » En línea

markx

Desconectado Desconectado

Mensajes: 11


Ver Perfil
Re: visual basic 6 HTTP request
« Respuesta #6 en: 29 Agosto 2007, 20:23 pm »

muxas gracias, sus ayudas me han sido de muxa utilidad.. he aprendido un par de cosas mas :D, gracias
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
En brutus AET2,¿Que diferencia hay entre HTTP (basic auth) y HTTP(form)?
Hacking
robertito_prado 1 2,018 Último mensaje 7 Julio 2012, 13:48 pm
por robertito_prado
Como ver un request HTTP? « 1 2 3 »
Desarrollo Web
Vaagish 22 7,853 Último mensaje 12 Febrero 2014, 00:44 am
por Vaagish
Forward http/s request.
Hacking
xustyx 4 1,978 Último mensaje 30 Julio 2014, 18:47 pm
por xustyx
Duda sobre http request
Dudas Generales
gelvez16 5 2,187 Último mensaje 28 Noviembre 2014, 07:12 am
por engel lex
auto login Http post request
Programación General
s_azazel 3 2,237 Último mensaje 17 Noviembre 2017, 18:23 pm
por ThunderCls
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines