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

 

 


Tema destacado: Estamos en la red social de Mastodon


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

Desconectado Desconectado

Mensajes: 11


Ver Perfil
winsock downloader con vb6
« en: 1 Septiembre 2007, 00:23 am »

alguien que tenga mano un source en vb6 de un downloader utilizando winsock? algun ejemplo sencillito? gracias


En línea

HaDeS, -
WarZone Master

Desconectado Desconectado

Mensajes: 284



Ver Perfil WWW
Re: winsock downloader con vb6
« Respuesta #1 en: 1 Septiembre 2007, 00:45 am »

Claro, checate este codigo, ya lo habia posteado antes, pero no importa :P

Vamos a bajar el siguiente archivo, y guardarlo en el disco duro, en donde se esta ejecutando el programa:
http://snarkles.net/scripts/sneak/sneak-1.27.zip
Código
  1. 'Se necesitan 2 command button, un winsock de nombre Wk
  2. Dim Flag as Boolean
  3. Private Sub Command1_Click()
  4. Wk.Connect "www.snarkles.net", 80    'Conectamos al host
  5. End Sub
  6.  
  7. Private Sub Command2_Click()
  8. Wk.SendData "GET /scripts/sneak/sneak-1.27.zip HTTP/1.1" & vbCrLf & _        'Hacemos la peticion del archivo ubicado en la carpeta scripts/sneak/sneak-1.27.zip
  9.            "Host: www.snarkles.net" & vbCrLf & _
  10.            "Connection: keep-alive" & vbCrLf & vbCrLf
  11. End Sub
  12.  
  13. Private Sub Wk_DataArrival(ByVal bytesTotal As Long)
  14. Dim Archivo, Archivo2, Headers   'Declaramos las variables, las tres de tipo variant ya que los archivos pueden ser de tipo binari0
  15. Wk.GetData Archivo
  16. If InStr(1, Archivo, vbCrLf & vbCrLf, vbTextCompare) <> 0 And Flag = False Then      'Si en la primera peticion se nos envia las cabeceras del servidor que indican que todo va bien, entonces dividimos lo que nos envia en dos partes, la primera que son las cabeceras del servidor, y la segunda que es el archivo
  17.    Flag = True
  18.    Headers = Split(Archivo, vbCrLf & vbCrLf, 2)
  19.    Archivo2 = Headers(1)     'Es la parte de la imagen, sin las cabeceras del servidor
  20. Else
  21.    Archivo2 = Archivo       'Si no se estan enviando las cabeceras, entonces asignamos a archiv2 el valor de archivo. Recordamos que el servidor se conecta varias veces a nosotros para enviarnos el contenido del archivo.
  22. End If
  23. Open App.Path & "\snarkles.zip" For Binary Access Write As #1      'Abrimos el archivo snarkles.zip, puede ser cualquier otro tipo de archivo, en modo binario
  24. Put #1, LOF(1) + 1, Archivo2       'escribimos el contenido al final del archivo del valor que nos ha enviado el servidor
  25. Close #1
  26. End Sub
  27.  
Lo modifique y lo comente para que entendieras:P

saludos ;)


« Última modificación: 1 Septiembre 2007, 00:46 am por HaDeS, - » En línea

APOKLIPTICO


Desconectado Desconectado

Mensajes: 3.871


Toys in the attic.


Ver Perfil
Re: winsock downloader con vb6
« Respuesta #2 en: 1 Septiembre 2007, 17:47 pm »

Para que sirve el _ que pusiste despues de cada línea? osea pusiste VBcrlf & _
Saludos
En línea

AMD Phenom II 1075T X6 @ 290 Mhz x 11 (HT 2036 Mhz NB Link 2616 Mhz) 1.23 Vcore
ASUS M4A89GTD-PRO/USB3
2x2gb G-Skill RipjawsX DDR3 1600 Mhz CL7 (7-8-7-24-25-1T)
Seagate 500 Gb
XFX HD4850 512Mb GDDR3. 650 Mhz/995 Mhz 1.1 Tflops.
Red Mx
Rojito
Colaborador
***
Desconectado Desconectado

Mensajes: 3.649


Viva México Cabrones...


Ver Perfil WWW
Re: winsock downloader con vb6
« Respuesta #3 en: 1 Septiembre 2007, 18:20 pm »

es para continuar la linea de codigo es util cuando la lina es muy larga y no se visualisa en la pantalla

y el vbCrLf es para simular un Salto de linea
En línea

Desarrollar Malware Es Causa De Cancer...
elrecar

Desconectado Desconectado

Mensajes: 30


Ver Perfil
Re: winsock downloader con vb6
« Respuesta #4 en: 3 Septiembre 2007, 19:19 pm »

yo tambien ando necesitando algo similar, probe el codigo ese pero me lo descarga corrupto  :-(
En línea

HaDeS, -
WarZone Master

Desconectado Desconectado

Mensajes: 284



Ver Perfil WWW
Re: winsock downloader con vb6
« Respuesta #5 en: 3 Septiembre 2007, 20:38 pm »

Hmm, que raro, acabe de probar el codigo y me baja perfectamente el archivo, estas bajando el mismo que muestra el ejemplo, o es otro archivo. De todas formas con cualquier tipo de archivo deberia funcionar.
Saludos, y si es diferente lo que pones, mostranos tu codigo. :)
En línea

ifconfig

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: winsock downloader con vb6
« Respuesta #6 en: 1 Julio 2013, 15:46 pm »

hola, tengo 2 problemas con el codigo
1. genera un codigo adicional al guardar al principio
2. no sirve el filtro vbcrlf & vbcrlf para romper el header
una imagen vale mas de 1000 palabras..
En línea

DarkMatrix

Desconectado Desconectado

Mensajes: 150


Nuestro Limite es la Imaginacion


Ver Perfil WWW
Re: winsock downloader con vb6
« Respuesta #7 en: 1 Julio 2013, 22:50 pm »

Bueno he probado el codigo del amigo Hades y no me ha funcionado muy bien, asi que lo modifique un poco para mejorarlo:

Código
  1. Option Explicit
  2.  
  3. Dim Flag As Boolean
  4. Dim FileSize As Long
  5.  
  6. Private Sub Command1_Click()
  7.  
  8.    Wk.Connect "www.snarkles.net", 80    'Conectamos al host
  9.  
  10. End Sub
  11.  
  12. Private Sub Command2_Click()
  13.  
  14.    ' Hacemos la peticion del archivo ubicado en la carpeta scripts/sneak/sneak-1.27.zip
  15.  
  16.    Wk.SendData "GET /scripts/sneak/sneak-1.27.zip HTTP/1.1" & vbCrLf & "Host: www.snarkles.net" & vbCrLf & "Connection: keep-alive" & vbCrLf & vbCrLf
  17.  
  18. End Sub
  19.  
  20. Private Sub Wk_Connect()
  21.  
  22.    Debug.Print "Conectado..."
  23.  
  24. End Sub
  25.  
  26. Private Sub Wk_DataArrival(ByVal bytesTotal As Long)
  27.  
  28.    Dim strData   As String
  29.    Dim Archivo   As String
  30.    Dim Headers() As String
  31.  
  32.    Wk.GetData strData
  33.  
  34.    If InStr(1, strData, vbCrLf & vbCrLf) <> 0 And Flag = False Then      'Si en la primera peticion se nos envia las cabeceras del servidor que indican que todo va bien, entonces dividimos lo que nos envia en dos partes, la primera que son las cabeceras del servidor, y la segunda que es el archivo
  35.  
  36.        Flag = True
  37.  
  38.        Headers = Split(strData, vbCrLf & vbCrLf, 2)
  39.  
  40.        FileSize = CLng(Split(Mid$(strData, InStr(1, LCase$(strData), LCase$("Content-Length: ")) + Len("Content-Length: ")), vbCrLf)(0)) ' Extraemos la el tamaño del archivo del header
  41.  
  42.        Archivo = Headers(1)     'Es la parte de la imagen, sin las cabeceras del servidor
  43.  
  44.    Else
  45.  
  46.        Archivo = Archivo & strData       'Si no se estan enviando las cabeceras, entonces asignamos a archiv2 el valor de archivo. Recordamos que el servidor se conecta varias veces a nosotros para enviarnos el contenido del archivo.
  47.  
  48.        If Len(Archivo) = FileSize Then
  49.  
  50.            Open App.Path & "\snarkles.zip" For Binary Access Write As #1      'Abrimos el archivo snarkles.zip, puede ser cualquier otro tipo de archivo, en modo binario
  51.  
  52.            Put #1, , Archivo       'escribimos el contenido al final del archivo del valor que nos ha enviado el servidor
  53.  
  54.            Close #1
  55.  
  56.            Flag = False
  57.  
  58.        End If
  59.  
  60.        MsgBox "Descarga Completa..."
  61.  
  62.    End If
  63.  
  64. End Sub
En línea

Todo aquello que no se puede hacer, es lo que no intentamos hacer.
Projecto Ani-Dimension Digital Duel Masters (Juego de cartas masivo multijugador online hecho en Visual Basic 6.0)

Desing by DarkMatrix
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda con downloader (WINSOCK)
ASM
.:UND3R:. 4 3,393 Último mensaje 30 Agosto 2012, 04:41 am
por .:UND3R:.
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines