~ Edito ~
12/03/2006 @ 13:39
Depuis la dernière mise à jour (qui remonte à... oulala plusieurs mois), un petit ménage de printemps s'impose. Ca tombe bien, c'est presque la période. Au menu, et progressivement sur les jours à venir, rafraîchissement de plusieurs fonctions et procédures, nouvelles APIs et nouveaux programmes.
~ Rechercher ~
~ Annuaire VB ~
~ Partenaires ~
|
Fonction InternetOpen
Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" ( _ ByVal sAgent As String, _
ByVal lAccessType As Long, _
ByVal sProxyName As String, _
ByVal sProxyBypass As String, _
ByVal lFlags As Long) As Long
Versions : . Windows 95/98 : Oui . Windows NT : A partir de 4.0 . Windows 2000/XP : OuiDescription : Cette fonction retourne un pointeur vers la connexion internet courante.
sAgent est une chaîne indiquant le nom de l'application initiant le dialogue.
lAccessType indique le type d'accès désiré. Voir le tableau des constantes autorisée plus bas.
sProxyName donne le nom du proxy à utiliser. Uniquement si l'accès utilise la constante INTERNET_OPEN_TYPE_PROXY.
sProxyBypass contient une liste d'adresse à ne pas prendre en compte pour un accès par proxy. Uniquement avec INTERNET_OPEN_TYPE_PROXY.
lFlags peut contenir une combinaison de constante ci-dessous (INTERNET_FLAG_xxx).
Si la fonction échoue, elle retourne une valeur nulle, sinon elle retourne un pointeur vers la connexion courante.
Constante | Valeur |
Définition |
INTERNET_FLAG_ASYNC | &H10000000 |
Les requêtes sont effectuées en asynchrones. |
INTERNET_FLAG_FROM_CACHE | &H1000000 |
Les requêtes sont effectuées à partir du cache, si l'élément n'est pas dans le cache, une erreur est retournée. |
INTERNET_FLAG_OFFLINE | &H1000000 |
Identique à INTERNET_FLAG_FROM_CACHE. |
INTERNET_OPEN_TYPE_DIRECT | 1 |
Résoud les noms en local. |
INTERNET_OPEN_TYPE_PRECONFIG | 0 |
Récupère la configuration par défaut (base de registre). |
INTERNET_OPEN_TYPE_PROXY | 3 |
Envoi des requêtes au proxy, sauf pour les exceptions indiquées dans sProxyBypass. |
Exemple d'utilisation :
Public Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" ( _
ByVal sAgent As String, ByVal lAccessType As Long, _
ByVal sProxyName As String, ByVal sProxyBypass As String, _
ByVal lFlags As Long) As Long
Public Declare Function InternetOpenUrl Lib "wininet.dll" Alias "InternetOpenUrlA" ( _
ByVal hInternetSession As Long, ByVal sUrl As String, _
ByVal sHeaders As String, ByVal lHeadersLength As Long, _
ByVal lFlags As Long, ByVal lContext As Long) As Long
Public Declare Function InternetReadFile Lib "wininet.dll" ( _
ByVal hFile As Long, ByVal sBuffer As String, _
ByVal lNumBytesToRead As Long, _
lNumberOfBytesRead As Long) As Integer
Public Declare Function InternetCloseHandle Lib "wininet.dll" ( _
ByVal hInet As Long) As Integer
Public Const INTERNET_FLAG_NO_CACHE_WRITE = &H4000000 ' Pas d'écriture en cache
Public Function GetUrlFile(stUrl As String) As String
' Récupère le contenu d'une page/d'un fichier sur internet
Dim lgInternet As Long, lgSession As Long
Dim stBuf As String * 1024
Dim inRes As Integer
Dim lgRet As Long
Dim stTotal As String
stTotal = vbNullString
' Récupère un pointeur vers la connexion internet courante
lgSession = InternetOpen("VBTagEdit", 1, vbNullString, vbNullString, 0)
If lgSession Then
' Récupère un pointeur vers l'URL
lgInternet = InternetOpenUrl(lgSession, stUrl, vbNullString, _
0, INTERNET_FLAG_NO_CACHE_WRITE, 0)
If lgInternet Then
Do
' Lecture de la page dans le buffer (par bloc de 1024)
inRes = InternetReadFile(lgInternet, stBuf, 1024, lgRet)
stTotal = stTotal & Mid$(stBuf, 1, lgRet)
Loop While (lgRet <> 0)
End If
' Libération du pointeur
inRes = InternetCloseHandle(lgInternet)
End If
' Retourne le résultat
GetUrlFile = stTotal
End Function
Retour à la liste des API |