[VB] Problème winsock ne renvoie rien [Résolu]

Signaler
Messages postés
7
Date d'inscription
vendredi 11 avril 2003
Statut
Membre
Dernière intervention
25 février 2009
-
Messages postés
7
Date d'inscription
vendredi 11 avril 2003
Statut
Membre
Dernière intervention
25 février 2009
-
Tout d'abord bonjour et merci de vous pencher sur mon problème.
Voilà j'ai un problème, je m'explique: J'ai un petit projet vb6, j'aimerai faire un GET sur www.google.fr avec un Winsock et recevoir le contenu du GET dans le winsock pour l'utiliser.
Mais voila j'ai fais à peu prêt ce qu'il fallait faire je pense mais le winsock ne reçoit rien et ne répond pas (plante).
Où est mon erreur?

Private Sub Command1_Click()
Winsock1.Close
' Connexion à www.google.fr sur le port 80
Winsock1.Connect "www.google.fr", 80
End Sub

Private Sub Winsock1_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
     MsgBox "Erreur Winsock n° " & Number & " (" & Description & ")", vbInformation
End Sub

Private Sub Winsock1_Connect()
' Envoi du GET à www.google.fr
Winsock1.SendData "GET / HTTP/1.1" & vbCrLf & _
"Host: www.google.fr" & vbCrLf & _
"User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6" & vbCrLf & _
"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" & vbCrLf & _
"Accept-Language: fr,fr-fr;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"
End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Winsock1.GetData Text1.Text
' Mais arriver ici, le Text1.Text ne bronche pas d'un poil :(
End Sub

5n4k

2 réponses

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
67
deux choses:

- ne pas passer directement la propriété Text :

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim sBuffer As String
Winsock1.GetData sBuffer, vbString, bytesTotal
Text1.Text = sBuffer
End Sub


- indiquer au serveur HTTP où se trouve la fin de la requete HTTP, en placant deux lignes vides :

...ge: fr,fr-fr;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
Messages postés
7
Date d'inscription
vendredi 11 avril 2003
Statut
Membre
Dernière intervention
25 février 2009

Super! Merci je n'attendais pas mieux!

5n4k