Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 2021
-
21 juin 2006 à 07:40
acrcorp
Messages postés96Date d'inscriptiondimanche 16 février 2003StatutMembreDernière intervention23 septembre 2007
-
26 juin 2006 à 19:44
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
acrcorp
Messages postés96Date d'inscriptiondimanche 16 février 2003StatutMembreDernière intervention23 septembre 2007 26 juin 2006 à 19:44
Oki merci ;)
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 26 juin 2006 à 09:48
c'est pas le but de cette source, non...
ici, c'est une analyse, un découpage d'entêtes HTTP...
acrcorp
Messages postés96Date d'inscriptiondimanche 16 février 2003StatutMembreDernière intervention23 septembre 2007 26 juin 2006 à 09:12
Bonjour bonjour !!!
Hum, j'ai récupéré ta source mais je ne suis pas sur de bien comprendre ce qu'elle fait (il se passe rien quand je la lance comme ça) :(
Perso, je cherche le moyen de récupérer le code html des pages web dans lesquelles je me balade lorsque je surfe. C'est donc une sorte de sniffeur html que je recherche...
Ton source est il en capable de faire ça ?
Merci d'avance ;)
katsankat
Messages postés571Date d'inscriptionvendredi 30 décembre 2005StatutMembreDernière intervention12 juillet 20123 22 juin 2006 à 16:13
oui pardon
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 22 juin 2006 à 12:58
bonnes remarques
concernant le "Aussi pour la recherche de la méthode il faut prendre en compte le cas où il n' y a pas d' espace, cad retourner une chaine vide si nPos = 0."
If nPos > 0 Then
HTTPmethod = Left$ ( Request, nPos-1 )
End If
HTTPMethod se verra bien renvoyer une chaine vide si nPos = 0 ....
katsankat
Messages postés571Date d'inscriptionvendredi 30 décembre 2005StatutMembreDernière intervention12 juillet 20123 22 juin 2006 à 12:54
Je pense que les "nouveaux" objets du .NET parcourent le string requête 1 seule fois, caractère par caractère, pour remplir une structure au fur et à mesure qu'il tombe sur un vbcrlf. C'est le plus pragmatique, de faire 1 seule fonction et c'est très rapide comparé au split(). Si tu recadres ton code dans cette direction il faudra appeler les éléments par leur nom (cf. RFC 2616): par exemple
HTTPpage -> c'est l' URI, pas la page. Et le "Document" fait partie de l' URI.
En d' autres termes j'encourage à créer une structure (Private Type Requete....End Type)
puis faire appel à ses membres, même si on n' a besoin que d'une seule information. Dans le meilleur des cas, ce sera une classe... En fait, ça DOIT être une classe.
Aussi pour la recherche de la méthode il faut prendre en compte le cas où il n' y a pas d' espace, cad retourner une chaine vide si nPos = 0.
Dernière chose c'est pas une bonne idée de mixer les langues dans les commentaires et les noms de fonctions. Tout en français, ou tout en anglais.
bonne prog les amis
hvb
Messages postés939Date d'inscriptionvendredi 25 octobre 2002StatutMembreDernière intervention27 janvier 20093 22 juin 2006 à 12:32
en meme temps ton code est destiné à être utilisé par d'autres, à titre perso ou en prod', vu que tu le distribues.
Leur donner quelquechose qui n'est pas optimisé alors qu'on te sert sur un plateau les ammeliorations, ce n'est pas vraiment dans l'esprit...
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 21 juin 2006 à 14:31
ok sur le fait que tous les chemins peuvent mener à Rome...
je ne fait que t'indiquer un chemin plus rapide d'y parvenir...
à toi après d'en prendre note (ou pas) pour tes développements à venir.
Ahweb
Messages postés48Date d'inscriptionlundi 2 août 2004StatutMembreDernière intervention15 octobre 2007 21 juin 2006 à 14:02
La méthode est toujours envoyées et toutes les fonctions marchent.
Ce quie st bien en programmation c'est qu'il y a différentes façons de travailler, et plusieurs marchent. La tienne est plus pointue et plus optimisée que la mienne mais elles marchent toutes les deux ;)
Ne m'en demande pas trop, je ne suis pas programmeur pro ;)
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 21 juin 2006 à 07:40
pas top coté perf... (surtout si on est destinés a venir jouer sur une appli temps reel, comme un serveur Web)
# Public Function HTTPmethod(ByVal Request As String) As String
# Dim RequestLines() As String
# Dim TempArray() As String
# RequestLines = Split(Request, vbCrLf)
# TempArray = Split(RequestLines(0), " ")
# HTTPmethod = TempArray(0)
# End Function
1 : tu ne fais aucune verification
2 : ByVal :d
3 : deux split inutiles
tu aurais pu simplement faire :
Public Function HTTPmethod(ByRef Request As String) As String
Dim nPos as long As String
nPos = InStr ( Request, " ")
If nPos > 0 Then
HTTPmethod = Left$ ( Request, nPos-1 )
End If
End Function
les autres fonctions souffrent des même problème...
26 juin 2006 à 19:44
26 juin 2006 à 09:48
ici, c'est une analyse, un découpage d'entêtes HTTP...
26 juin 2006 à 09:12
Hum, j'ai récupéré ta source mais je ne suis pas sur de bien comprendre ce qu'elle fait (il se passe rien quand je la lance comme ça) :(
Perso, je cherche le moyen de récupérer le code html des pages web dans lesquelles je me balade lorsque je surfe. C'est donc une sorte de sniffeur html que je recherche...
Ton source est il en capable de faire ça ?
Merci d'avance ;)
22 juin 2006 à 16:13
22 juin 2006 à 12:58
concernant le "Aussi pour la recherche de la méthode il faut prendre en compte le cas où il n' y a pas d' espace, cad retourner une chaine vide si nPos = 0."
If nPos > 0 Then
HTTPmethod = Left$ ( Request, nPos-1 )
End If
HTTPMethod se verra bien renvoyer une chaine vide si nPos = 0 ....
22 juin 2006 à 12:54
HTTPpage -> c'est l' URI, pas la page. Et le "Document" fait partie de l' URI.
En d' autres termes j'encourage à créer une structure (Private Type Requete....End Type)
puis faire appel à ses membres, même si on n' a besoin que d'une seule information. Dans le meilleur des cas, ce sera une classe... En fait, ça DOIT être une classe.
Aussi pour la recherche de la méthode il faut prendre en compte le cas où il n' y a pas d' espace, cad retourner une chaine vide si nPos = 0.
Dernière chose c'est pas une bonne idée de mixer les langues dans les commentaires et les noms de fonctions. Tout en français, ou tout en anglais.
bonne prog les amis
22 juin 2006 à 12:32
Leur donner quelquechose qui n'est pas optimisé alors qu'on te sert sur un plateau les ammeliorations, ce n'est pas vraiment dans l'esprit...
21 juin 2006 à 14:31
je ne fait que t'indiquer un chemin plus rapide d'y parvenir...
à toi après d'en prendre note (ou pas) pour tes développements à venir.
21 juin 2006 à 14:02
Ce quie st bien en programmation c'est qu'il y a différentes façons de travailler, et plusieurs marchent. La tienne est plus pointue et plus optimisée que la mienne mais elles marchent toutes les deux ;)
Ne m'en demande pas trop, je ne suis pas programmeur pro ;)
21 juin 2006 à 07:40
# Public Function HTTPmethod(ByVal Request As String) As String
# Dim RequestLines() As String
# Dim TempArray() As String
# RequestLines = Split(Request, vbCrLf)
# TempArray = Split(RequestLines(0), " ")
# HTTPmethod = TempArray(0)
# End Function
1 : tu ne fais aucune verification
2 : ByVal :d
3 : deux split inutiles
tu aurais pu simplement faire :
Public Function HTTPmethod(ByRef Request As String) As String
Dim nPos as long As String
nPos = InStr ( Request, " ")
If nPos > 0 Then
HTTPmethod = Left$ ( Request, nPos-1 )
End If
End Function
les autres fonctions souffrent des même problème...