Besoin d'aide GET Winsock

Résolu
talking Messages postés 343 Date d'inscription dimanche 30 novembre 2003 Statut Membre Dernière intervention 19 août 2006 - 18 août 2005 à 17:10
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 19 août 2005 à 15:26
Bonjour tout le monde. Donc celà fait un bon bout de temps que je cherche une réponse à ma question. Voilà en fait j'aimerais récupérer la source d'une page avec Winsock, donc en utilisant un GET.
Admettons que je veuille récupérer la source de cette page :
http://www.google.fr/search?sourceid=navclient&hl=fr&ie=UTF-8&rls=GGLD,GGLD:2003-40,GGLD:fr&q=Winsock
Donc je me connecte sur www.google.fr sur le port 80
puis dans le connect du winsock je fais
Winsock1.senddata("GET /search?sourceid=navclient&hl=fr&ie=UTF-8&rls=GGLD,GGLD:2003-40,GGLD:fr&q=Winsock" & vbcrlf & "HTTP/1.1" & vbcrlf)
Mais dans le Data Arrival, le serveur ne me renvoi rien
Quelle est la bonne requete a effectuer
Merci

4 réponses

talking Messages postés 343 Date d'inscription dimanche 30 novembre 2003 Statut Membre Dernière intervention 19 août 2006 1
18 août 2005 à 19:57
Bon non en fait mes vbcrlf sont bons. Mais c'était mon DataArrival qui n'allait pas.
Pour inet, je ne l'aime pas car il ne récupère pas toute la source
3
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
18 août 2005 à 19:37
Salut
Dans une requète http, il ne peut pas y avoir de caractères particuliers comme le vbCrLf.
Convertis ces caractère en ascii et en hexa, avec un % devant chaque : vbCrLf = 13 et 10 --> %0D%0A
(idem pour les espaces en %20 ...)
D'autre part, pour récupérer la source d'une page, le composant iNet est plus pratique :
PageSource = iNet1.OpenURL("http://...")

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
19 août 2005 à 02:59
Re
Tant mieux si tu as trouvé ton erreur, mais iNet marche très bien, heureusement. Il faut seulement penser à faire une boucle Do While iNet.StillExecuting avant d'aller lire le résultat.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
19 août 2005 à 15:26
Salut
Talking : Si tu sais lire, je demande à ce qu'on ne m'écrive pas de message privé !
Je suis toutes les réponses que je laisse sur le forum, il te suffisais donc d'ajouter ta question à la suite, ici.

Tu disais donc que tu ne saivais pas gérer le StillExecuting :
En chargeant quelques sources qui l'utilise ou en regardant l'aide tu aurais trouvé la réponse, mais je suppose que tu ne sais pas lire l'aide non plus ...

SourcePage = monInet.OpenURL ("http://...")
Do While monInet.StillExecuting
DoEvents ' Suffit d'attendre que tout soit arrivé
Loop

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
0
Rejoignez-nous