Hit-Parade .VB Research Center . Compteur
Accueil ~  Code ~  Programmes ~  Api ~  Forum ~  Cours ~  Livres ~  Quiz ~  Annuaire
~ 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 ~
 Rechercher un site :
  

~ Partenaires ~

Fonction InternetOpenUrl

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
Versions :
. Windows 95/98 : Oui
. Windows NT : A partir de 4.0
. Windows 2000/XP : Oui

Description :
Cette fonction effectue l'ouverture d'une URL.
hInternetSession est un pointeur vers la connexion internet courante (obtenu par InternetOpen).
sUrl est la chaîne représentant l'URL à ouvrir.
sHeaders contient les entêtes qui seront envoyés au serveur HTTP.
lHeadersLength donne la longueur de la chaîne précédente.
lFlags contient une valeur constante du tableau ci-dessous.
lContext est une valeur qui pourra être transmise à une fonction de callback (dans le cas ou on en utilise une).

La fonction retourne un pointeur vers l'URL si la connexion a pu être établie, sinon, elle retourne une valeur nulle.

ConstanteValeur Définition
INTERNET_FLAG_EXISTING_CONNECT&H20000000 Utilise un objet InternetConnect existant. Utile seulement pour les opérations de type FTP.
INTERNET_FLAG_HYPERLINK&H400 Force un rechargement - dans le cas ou il n'y a pas de date d'expiration sur l'élément.
INTERNET_FLAG_IGNORE_CERT_CN_INVALID&H1000 Désactive les fonctions de vérification SSL.
INTERNET_FLAG_IGNORE_CERT_DATE_INVALID&H2000 Désactive la vérification de la validité du certificat de sécurité.
INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP&H8000 Désactive la détection du passage d'un mode HTTPS vers HTTP.
INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS&H4000 Désactive la détection du passage d'un mode HTTP vers HTTPS.
INTERNET_FLAG_KEEP_CONNECTION&H400000 Laisse la connexion ouverte (mode KEEP_ALIVE).
INTERNET_FLAG_NEED_FILE&H10 Force la création d'un fichier temporaire, si le fichier ne peut pas être mis en cache.
INTERNET_FLAG_NO_AUTH&H40000 N'effectue pas d'authentification en automatique.
INTERNET_FLAG_NO_AUTO_REDIRECT&H200000 Ne tiens pas compte des demandes de redirection.
INTERNET_FLAG_NO_CACHE_WRITE&H4000000 N'ajoute pas l'élément retourné dans le cache.
INTERNET_FLAG_NO_COOKIES&H80000 Désactive l'utilisation des cookies (blocage en lecture et en écriture).
INTERNET_FLAG_NO_UI&H200 Désactive la boîte de dialogue des cookies.
INTERNET_FLAG_PASSIVE&H8000000 Utilise le mode passif (accès FTP).
INTERNET_FLAG_PRAGMA_NOCACHE&H100 La requête sera effectuée par le serveur d'origine même s'il existe une copie dans le cache.
INTERNET_FLAG_RAW_DATA&H40000000 Retourne les données suivant leur structure d'origine, sinon, la fonction retourne une version de type HTML.
INTERNET_FLAG_RELOAD&H80000000 Force un chargement à partir du serveur d'origine et non pas depuis le cache.
INTERNET_FLAG_RESYNCHRONIZE&H800 Recharge une ressource si elle a été modifié depuis sa dernière récupération.
INTERNET_FLAG_SECURE&H800000 Utilise une connexion de type sécurisé (requête HTTP seulement).

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

Visual Basic Research Center - (c) 2000/2002 -  Webmaster : docvb (chez) free (point) fr