Aweb's http parser - parseur http

Soyez le premier à donner votre avis sur cette source.

Vue 5 945 fois - Téléchargée 568 fois

Description

Aweb's HTTP parser est un parseur HTTP, c'est à dire qu'il peut trouver plusieurs informations dans une requète HTTP telles que le nom de page, le protocole utilisé, la méthode d'envoi dde formulaire utilisée, les données envoyées par formulaire etc...

Ce code a été concu pour être utilisé dans tout projet intégrant un serveur HTTP, mais vous pouvez l'utiliser comme vous voulez.

Le module a été concu pour pouvoir être utilisé seul dans un autre projet.

Pardonnez le peu de commentaires, c'est pas mon fort ;)

Source / Exemple :


'Voici le contenu du module, où est réellement le parseur HTTP

'Détail des fonctions :
'- Testparse est utilisé seulement sur le projet de test pour afficher les infos dans les textboxs (supprimmé ici car inutile)
'- Les autres servent à obtenir les différentes infos. Leur nom est assez explicite ;)

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

Public Function HTTPprotocol(ByVal Request As String) As String
Dim RequestLines() As String
Dim TempArray() As String
RequestLines = Split(Request, vbCrLf)
TempArray = Split(RequestLines(0), " ")
HTTPprotocol = TempArray(UBound(TempArray))
End Function

Public Function HTTPpage(ByVal Request As String) As String
Dim RequestLines() As String
Dim TempArray() As String
RequestLines = Split(Request, vbCrLf)
TempArray = Split(RequestLines(0), " ")
TempArray = Split(TempArray(UBound(TempArray) - 1), "?")
HTTPpage = TempArray(0)
End Function

Public Function HTTPget(ByVal Request As String) As String
Dim RequestLines() As String
Dim TempArray() As String
RequestLines = Split(Request, vbCrLf)
TempArray = Split(RequestLines(0), " ")
TempArray = Split(TempArray(UBound(TempArray) - 1), "?")
If UBound(TempArray) > 0 Then
    HTTPget = TempArray(1)
Else
    HTTPget = ""
End If
End Function

Public Function HTTPpost(ByVal Request As String) As String
Dim RequestLines() As String
RequestLines = Split(Request, vbCrLf)
'You should verify method first because the one I use is not sure
'So we verify...
If LCase(HTTPmethod(Request)) = "post" Then
    HTTPpost = RequestLines(UBound(RequestLines))
Else
    HTTPpost = ""
End If
End Function

'(c) 2006 Aweb. Merci de laisser ce copyright ;)

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
96
Date d'inscription
dimanche 16 février 2003
Statut
Membre
Dernière intervention
23 septembre 2007

Oki merci ;)
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
c'est pas le but de cette source, non...
ici, c'est une analyse, un découpage d'entêtes HTTP...
Messages postés
96
Date d'inscription
dimanche 16 février 2003
Statut
Membre
Dernière intervention
23 septembre 2007

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 ;)
Messages postés
571
Date d'inscription
vendredi 30 décembre 2005
Statut
Membre
Dernière intervention
12 juillet 2012
3
oui pardon
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
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 ....
Afficher les 10 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.