Déterminer si un url est valide

Soyez le premier à donner votre avis sur cette source.

Snippet vu 4 415 fois - Téléchargée 29 fois

Contenu du snippet

C'est simple. Ça permet de savoir si une URL est valide. Ça ne vient pas de moi. J'ai trouvé ça sur le site www.allapi.net

Source / Exemple :


Private Const S_FALSE = &H1
Private Const S_OK = &H0
'Only implemented as unicode...
Private Declare Function IsValidURL Lib "URLMON.DLL" (ByVal pbc As Long, ByVal szURL As String, ByVal dwReserved As Long) As Long
Private Sub Form_Load()
    'KPD-Team 2001
    'URL: http://www.allapi.net/
    'E-Mail: KPDTeam@Allapi.net
    MsgBox "Is valid URL: " + CStr(IsGoodURL("http://www.allapi.net"))
    MsgBox "Is valid URL: " + CStr(IsGoodURL("hxxp:/www.allapi.uhoh"))
End Sub
Public Function IsGoodURL(ByVal sURL As String) As Boolean
    'The IsValidURL always expects a UNICODE string, but whenever
    'VB calls an API function, it converts the strings to ANSI strings.
    'That's why we're going to use a trick here. Before calling the function,
    'We're going to convert the unicode string to unicode so we get a double
    'unicode string.
    'Before VB calls the API function, it converts our double unicode string
    'to a normal unicode string; exactely what IsValidURL is expecting.
    sURL = StrConv(sURL, vbUnicode)
    'Now call the function
    IsGoodURL = (IsValidURL(ByVal 0&, sURL, 0) = S_OK)
End Function 
Private Const S_FALSE = &H1
Private Const S_OK = &H0
'Only implemented as unicode...
Private Declare Function IsValidURL Lib "URLMON.DLL" (ByVal pbc As Long, ByVal szURL As String, ByVal dwReserved As Long) As Long
Private Sub Form_Load()
    'KPD-Team 2001
    'URL: http://www.allapi.net/
    'E-Mail: KPDTeam@Allapi.net
    MsgBox "Is valid URL: " + CStr(IsGoodURL("http://www.allapi.net"))
    MsgBox "Is valid URL: " + CStr(IsGoodURL("hxxp:/www.allapi.uhoh"))
End Sub
Public Function IsGoodURL(ByVal sURL As String) As Boolean
    'The IsValidURL always expects a UNICODE string, but whenever
    'VB calls an API function, it converts the strings to ANSI strings.
    'That's why we're going to use a trick here. Before calling the function,
    'We're going to convert the unicode string to unicode so we get a double
    'unicode string.
    'Before VB calls the API function, it converts our double unicode string
    'to a normal unicode string; exactely what IsValidURL is expecting.
    sURL = StrConv(sURL, vbUnicode)
    'Now call the function
    IsGoodURL = (IsValidURL(ByVal 0&, sURL, 0) = S_OK)
End Function

A voir également

Ajouter un commentaire

Commentaires

OverDarck
Messages postés
116
Date d'inscription
jeudi 12 juillet 2001
Statut
Membre
Dernière intervention
23 juin 2005
-
Hum Hum, fort bien meme si c'est copier/coller sa evite de cherche partout, grace au moteur de recherche a Vbfrance on trouve direct ce que l'on veu, on va direct a l'essenciel, si j'avais cherché sur AllApi, si deja j'y avait penssé, sans connaitre le nom de l'api je pensse que je n'aurai pas trouvé......... donc merci mais a ce propos il me semble que tu as collé le code en double..... hum!
elmmk2004
Messages postés
2
Date d'inscription
mercredi 4 février 2004
Statut
Membre
Dernière intervention
13 mars 2004
-
je trouve rien a dire...copier/coller c pas bien
gabchampagne
Messages postés
216
Date d'inscription
mercredi 2 avril 2003
Statut
Membre
Dernière intervention
5 mai 2004
-
Ok. voici mon interprétation :
'<
Private Const S_OK = &H0 'Retroune ça si l'URL est OK
Private Declare Function IsValidURL Lib "URLMON.DLL" (ByVal pbc As Long, ByVal szURL As String, ByVal dwReserved As Long) As Long 'API utilisée
Public Function URLOk(URL As String) As Boolean 'Retourne TRUE si l'URL est OK
Dim str As String
str = StrConv(URL, vbUnicode) 'L'API prend juste le Unicode
If IsValidURL(0, str, 0) = S_OK Then
URLOk = True 'URL OK
Else
URLOk = False 'URL Invalide
End If
End Function
'>
Renfield
Messages postés
17283
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
56 -
Je trouve dommage de se contenter de faire un copier coller de codes presenrts sur le Net....... On pourrais jouer à ça longtemps !!

surtout si on colle ca deux fois de suite, n'est-ce pas....

Non, vraiment, je trouve pas ça très bien.....
sonoboss
Messages postés
178
Date d'inscription
lundi 17 juin 2002
Statut
Membre
Dernière intervention
2 octobre 2007
-
Le fait qu'il ne soit pas de toi n'implique pas forcément de le recracher bettement ;-)

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.