InternetOpenUrl

Résolu
cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 - 6 janv. 2008 à 08:56
cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 - 6 janv. 2008 à 15:10
Bonjour,


Avec l'API InternetOpenUrl, j'aimerais savoir quelle valeur de flag (5ème paramètre) recommandez vous en général  pour faire un download de pages web ou d'images et si il est plus utile de passer le dernier paramètre (le contexte) comme ceci : ByVal 0& ou tout simplement 0 ou 0&


Merci d'avnce pour vos conseils et bon dimanche.


Cheyenne

8 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
6 janv. 2008 à 12:07
re,

ok....
la msdn conseille 
INTERNET_FLAG_DONT_CACHE à cette adresse

et ici les Flags possibles :

INTERNET_FLAG_RELOAD : force la fonction à lire les données sur le serveur, même s'ils
sont en cache localement

INTERNET_FLAG_DONT_CACHE : lorsque vous ne voulez pas stocker les données en cache local

INTERNET_FLAG_RAW_DATA : retourne des structures WIN32_FIND_DATA si vous avez les données
d'un URL FTP

INTERNET_FLAG_SECURE : spécifie l'utilisation de SSL (Secure Sockets Layer) pour des
demandes HTTP sécurisées avec authentification RSA

INTERNET_FLAG_EXISTING_CONNECT : demande à la fonction de réutiliser la connection
existante, si possible

pas d'avis perso puisque je passe par l'autre API indiquée
bon, courage ;)
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
3
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
6 janv. 2008 à 14:31
la déclaration est déjà en ByVal dwContext As Long donc inutile de mettre de nouveau byval
ensuite 0 ou 0&, par habitude autant mettre 0& pour préciser que c'est un long mais fondamentalement çà ne change rien ;)
++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
3
cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 2
6 janv. 2008 à 14:41
OK, c'est bien noté, merci pour tout.
En plus je n'ai même pas besoin de valider tes réponses, c'est déjà fait, HI

@+ Cheyenne
3
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
6 janv. 2008 à 14:56
c'est déjà fait?

lapin compris...
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
6 janv. 2008 à 10:15
salut,

d'après l'API-Guid c'est INTERNET_FLAG_RELOAD

voici l'exemple fourni :

Const scUserAgent = "API-Guide test
program"
Const INTERNET_OPEN_TYPE_DIRECT = 1
Const INTERNET_OPEN_TYPE_PROXY = 3
Const INTERNET_FLAG_RELOAD = &H80000000
Const sURL = "http://www.microsoft.com/index.htm"
Private Declare Function InternetOpen Lib "wininet" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As
Long
Private Declare Function InternetCloseHandle Lib "wininet" (ByVal hInet As Long) As Integer
Private Declare Function InternetReadFile Lib "wininet" (ByVal hFile As Long, ByVal sBuffer As String, ByVal lNumBytesToRead As Long, lNumberOfBytesRead
As Long) As Integer
Private Declare Function InternetOpenUrl Lib "wininet" Alias "InternetOpenUrlA" (ByVal hInternetSession As Long, ByVal lpszUrl As String, ByVal lpszHeaders As String, ByVal dwHeadersLength As Long, ByVal dwFlags As Long, ByVal dwContext As Long) As
Long
Private Sub Form_Load()
    'KPD-Team
1999
    'URL:
http://www.allapi.net/
    'E-Mail:
KPDTeam@Allapi.net

    Dim hOpen As Long, hFile As Long, sBuffer As String, Ret As Long
    'Create a buffer for the file we're going to
download
    sBuffer = Space(1000)
    'Create an internet connection
    hOpen = InternetOpen(scUserAgent, INTERNET_OPEN_TYPE_DIRECT,
vbNullString, vbNullString, 0)
    'Open the
url
    hFile = InternetOpenUrl(hOpen, sURL, vbNullString, ByVal 0&, INTERNET_FLAG_RELOAD, ByVal
0&)
    'Read the first 1000 bytes of the file
    InternetReadFile hFile, sBuffer, 1000, Ret
    'clean up
    InternetCloseHandle hFile
    InternetCloseHandle hOpen
    'Show
our file
    MsgBox sBuffer
End Sub

tu peux aussi utiliser l'API URLDownloadToFile
, voir ce snippet ;)
++
PCPT  [AFCK]
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 2
6 janv. 2008 à 10:30
Bonjour PCPT,

Merci pour la réponse, mais j'ai l'API-Guid et j'utilise courament cette API ainsi que URLDownloadToFile. Cette dernière est pratique pour les images, mais pour importer le texte d'une page je préfère InternetReadFile qui m'évite un accès disque.

Je demandais cela au cas ou l'un d'ente vous obtiendrait de meilleures performances avec l'un des flags possibles.

Bonne journée à toi.

Cheyenne
0
cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 2
6 janv. 2008 à 13:58
Merci bien pour la précision, donc valeur du flag &H4000000.
Cela me conveint puisque MSDN indique que ce flag est valable pour tout types de fichiers.

Et pour la 2ème question à savoir si il est plus utile de passer le dernier paramètre (le contexte) comme ceci : ByVal 0& ou tout simplement 0 ou 0& ?

Après je te laisse tranquille et merci pour ta disponibilité.

Bonne continuation
0
cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 2
6 janv. 2008 à 15:10
Ouvre tes grandes oreilles de lapin... pas compris et écoute :

Excuses-moi, il y a bien le bouton 'Réponse acceptée' mais la réponse ne l'est pas pour autant. Je viens de les valider à l'instant, grrrr... on ne dvrait pas vieillir, HI.

Au plaisir et merci, Cheyenne
0
Rejoignez-nous