talking
Messages postés343Date d'inscriptiondimanche 30 novembre 2003StatutMembreDernière intervention19 août 2006
-
18 août 2005 à 17:10
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 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
talking
Messages postés343Date d'inscriptiondimanche 30 novembre 2003StatutMembreDernière intervention19 août 20061 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
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 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)
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 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)
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 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)