Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : winsock - récupérer l'envoi en entier [ Archives Visual Basic / J'AI BESOIN D'AIDE !!!! :) ] (lkm)

samedi 12 novembre 2005 à 12:47:18 | winsock - récupérer l'envoi en entier

lkm

Bonjour à tous,
Je suis en train d'essayer de récupérer le code html d'une page par winsock (j'ai fait ce choix parce que je ne voulais pas utiliser le controle inet).
Donc tout par de là, connection winsock au site par le port 80, j'envoie mes requetes HTTP (GET blablabla) , j'envoie et je reçoi.
Le problème c'est que sur mon événement DataArrival, je ne récupère pas le code HTML en entier, je reçoit que les 1492 premiers caractères (et il en manque donc beaucoup beaucoup ).
J'ai bien essayé de faire ça en analogie avec la manipulation des sockets sous C++:
    
   While wck_http_get.BytesReceived < 5000
        Me.wck_http_get.GetData strArrive, vbString
   Wend

Mais il semblerai qu'après la première reception je ne reçoit plus rien et ça me rend fou.

Est-ce que quelqu'un à une solution à mon problème. Parce que si je ne réussi pas à récuperer tout le code html, mon projet tombe à l'eau.

note: je ne désire pas utiliser d'autres controles tel que inet ou le webbrosser

Merci d'avance
lkm

samedi 12 novembre 2005 à 14:35:31 | Re : winsock - récupérer l'envoi en entier

Neo.balastik

Salut ;O)

Vois un exemple sur ce même site :
http://www.vbfrance.com/code.aspx?id=7676

Peut-être cela t'aidera-t-il ?

Bonne chance.

Guy

samedi 12 novembre 2005 à 14:38:23 | Re : winsock - récupérer l'envoi en entier

jack

Administrateur CodeS-SourceS
Salut
Comme expliqué très très longuement dans les messages du forum, ce que tu reçois est le contenu du buffer, et ce buffer prend des tailles diverses selon la charge CPU de ta machine (dès qu'elle a le temps de signaler l'évènement DataArrival).
Donc, il faut accumuler les données qui arrivent et attendre que toutes les données soient reçues.
Pour le HTML, la fin des données se repère avec un double cvCrLf

Pour cumuler les données (il y a plusieurs techniques) :
- Tu dimensionnes (dans un module) Public DonnéesReçues As String
- Dans DataArrival :
Dim Temp As String
Winsock1.GetData Temp
DonnéesReçues = DonnéesReçues & Temp
- Dans un Timer, il te suffit de regarder le contenu de DonnéesReçues et de détecter le double vbCrLf avec
If Instr(DonnéesReçues, vbCrLf & vbCrLf) > 0 Then
   ... Traite tes données
End If


Il y a des centaines de sources sur ce site qui utilisent des Winsock (ce problème revient aussi avec les appli de type Chats) : Charges-en une ou deux et regarde comment c'est fait.

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)

samedi 12 novembre 2005 à 19:38:48 | Re : winsock - récupérer l'envoi en entier

lkm

Merci jack,
Grace à ta solution j'ai reussi à récupérer une plus grande partie du code html que je voulais dont la partie intéressante pour moi. Mais je n'ai pas réussi à récupérer l'intégralité du code html et je trouve ça bizarre.
J'ai essayé avec ça :
If Instr(DonnéesReçues, "</html>) > 0 Then
   ... Traite tes données
End If


en verifiant avant que html est bien en minuscule.

Je te remercie parce que grace à toi j'ai pu avancer. Si tu sais pourquoi le code html n'est pas récupéré en entier, ça m'interesse.

lkm



Cette discussion est classé dans : récupérer, winsock, code, html, entier


Répondre à ce message

Sujets en rapport avec ce message

Récupérer code source html afficher dans IE ??? [ par Feneko ] Voila, dans mon script j'execute une requète Html avec des variables :Set oIE = WScript.CreateObject("InternetExplorer.Application")oIE.Navigate "http récupérer de l'html dans une frame avec winsock [ par Apofys ] Bonjour,je souhaiterai récupérer le contenu de certains cadres de pages web pour traiter les infos contenues dedans.Avec Winsock je n'arrive à récupér Récupérer le code source HTML d'une page AVEC LE WEBBROWSER [ par z980x ] Salut !Je récupère le code source d'une page grace au composant Inet, mais ca ne marche pas à tous les coups...Je voudrais savoir comment faire pour r Récupérer code html page web [ par moihenry ] Bonjour, quelle est le moyen le plus rapide de récupérer le code html d'une page web ? MerciC# top!! Récupérer le code Html dans une variable texte ? [ par thethor ] bonjour,Je cherche à récupérer le code html d'une pa ge web dans une variable texte pour pouvoir l'exploiter ensuite.voici mon code l'erreur apparait Récupérer le code Html dans une variable texte avec Inet ? [ par thethor ] bonjour,Quand j'utilise ce code je ne récupère que le début du code Html de la page ! Pourquoi ? Y a-t-il des parmètres à passer ?CodeHtml = Inet1.Ope WINSOCK [ par hhhp2004 ] hhhp2004 salut, je voudrais me connecter a un site, "www.whatismyip.com", et que ce dernier menvoye son code html. un fois que jai le code html je l récupérer le code html d'une page [ par remy34 ] Bonjour je voudrais savoir comment on peut récupérer le code html d'une page qui apparait apres un envoi de formulaire en méthode post svp. récupérer valeurs [ par maxsecurite2 ] Bonjour,Je suis en train de développer une application et j'aimerais savoir comment faire pour que mon application detecte les balises dans un fichie Décodage caractères dans page HTML [ par cheyenne ] Bonjour à Tous,Tout d'abord je vous demande de bien vouloir m'excuser car ma question ne relève pas directement d'un problème de code en VB6. <fon


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,546 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.