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

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Como hacer una conexion http/1.1 en vb.net
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Como hacer una conexion http/1.1 en vb.net  (Leído 3,421 veces)
snakeboy8

Desconectado Desconectado

Mensajes: 30



Ver Perfil
Como hacer una conexion http/1.1 en vb.net
« en: 21 Diciembre 2014, 02:18 am »

alguien me podria decir como hacer una conexion http/1.1 en vb.net?

cuando aprendi a programar en vb6 usaba el winsock.ocx pero cuando pase a .net segui usando el winsock.ocx por que no he encontrado una libreria que haga lo mismo esta es la funcion que uso


Código
  1.    Private Sub AxWinsock4_ConnectEvent(sender As Object, e As EventArgs) Handles AxWinsock4.ConnectEvent
  2.        Dim Cadstr As String
  3.        Cadstr = "variable=valor&variable2=valor"
  4.  
  5.        AxWinsock4.SendData("POST /pagina.php HTTP/1.1" & vbCrLf & _
  6.            "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-shockwave-flash, */*" & vbCrLf & _
  7.            "Accept-Encoding: gzip, deflate" & vbCrLf & _
  8.            "Accept-Charset: utf-8" & vbCrLf & _
  9.            "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Win 9x 4.90)" & vbCrLf & _
  10.            "Host: " & AxWinsock4.RemoteHost & ":" & AxWinsock4.RemotePort & vbCrLf & _
  11.            "Content-Length: " & Len(Cadstr) & vbCrLf & _
  12.            "Connection: Keep-Alive" & vbCrLf & _
  13.            "Cache-Control: no-cache" & vbCrLf & vbCrLf & _
  14.            Cadstr & vbCrLf)
  15.    End Sub



y con esto proceso los datos recibidos

Código
  1.    Private Sub AxWinsock4_DataArrival(sender As Object, e As AxMSWinsockLib.DMSWinsockControlEvents_DataArrivalEvent) Handles AxWinsock4.DataArrival
  2.        Dim Datos As String = 100000
  3.        On Error Resume Next
  4.  
  5.        AxWinsock4.GetData(Datos)
  6.  
  7.        If InStr(Datos, "404 Not Found") <> 0 Then
  8.  
  9.            Me.Close()
  10.        End If
  11.    End Sub


he encontrado ejemplos de como hacer algo asi masomenos pero usan directamente servidores ip y relmente no me sirve por que lo que quiero es que conecte a una pagina como si estubiera usando el explorador y poder procesar el codigo como lo hace el codigo que puse.


« Última modificación: 21 Diciembre 2014, 02:29 am por Eleкtro » En línea

seba123neo


Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: Como hacer una conexion http/1.1 en vb.net
« Respuesta #1 en: 21 Diciembre 2014, 02:35 am »

Hola, usa las clases de .NET, no uses mas los controles OCX viejos de vb6.

Código
  1. Imports System.Net.Sockets

saludos.


En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.885



Ver Perfil
Re: Como hacer una conexion http/1.1 en vb.net
« Respuesta #2 en: 21 Diciembre 2014, 03:04 am »

cuando aprendi a programar en vb6 usaba el winsock.ocx pero cuando pase a .net segui usando el winsock.ocx por que no he encontrado una libreria que haga lo mismo esta es la funcion que uso

Añado a lo que te ha comentado el compañero @seba123neo:


Winsock.NET

No te estoy recomendando la librería (sobre todo por que en el source usa malísimas practicas al ser del año 2005 también), pero está basado en la utilización del Namespace Sockets, así que quizás no haya mejor ejemplo para familiarizarte con una sintaxis que ya conocias (la de winsock.ocx) ya que el autor le asignó los mismos nombres a los métodos etc, plus puedes examinar el source para ir aprendiendo el manejo de los miembros del Namespace Sockets, y así hacerlo por ti mismo sin necesidad de depender de librerías ni ActiveX, ya que no resulta necesario.

Además, lee la referencia oficial:
System.Net.Sockets Namespace



Entiendo que vienes de VisualBasic6 y no te has acostumbrado, pero esto debes evitarlo en VB.Net:
Código
  1. On Error Resume Next

Es una técnica obsoleta al considerarse improductiva/ineficiente (en vb.net), y por ende es una mala práctica, en su lugar puedes usar un bloque try/catch/finally.

Utilizar las funciones de VB6 como InStr es otra mala prácica, ya que la librería de Classes de .Net framework aparte de exponer un Wrapper de las funciones de VB6 también pone a tu disposición un equivalente de todas esas funciones en VB.Net, las cuales siguen los estándares de la programación actual.

Saludos!
« Última modificación: 21 Diciembre 2014, 03:38 am por Eleкtro » En línea



snakeboy8

Desconectado Desconectado

Mensajes: 30



Ver Perfil
Re: Como hacer una conexion http/1.1 en vb.net
« Respuesta #3 en: 7 Enero 2015, 05:53 am »

muchas gracias por sus respuestas me ayudaron al 100 ahora uso los sockets de .net por fin despues de años no usare mas la libreria winsock.ocx  ;-)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines