InternetOpenUrl [Résolu]

cs_cheyenne 693 Messages postés samedi 18 mai 2002Date d'inscription 17 avril 2017 Dernière intervention - 6 janv. 2008 à 08:56 - Dernière réponse : cs_cheyenne 693 Messages postés samedi 18 mai 2002Date d'inscription 17 avril 2017 Dernière intervention
- 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
Afficher la suite 

8 réponses

Répondre au sujet
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 6 janv. 2008 à 12:07
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de PCPT
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 6 janv. 2008 à 14:31
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de PCPT
cs_cheyenne 693 Messages postés samedi 18 mai 2002Date d'inscription 17 avril 2017 Dernière intervention - 6 janv. 2008 à 14:41
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_cheyenne
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 6 janv. 2008 à 14:56
+3
Utile
c'est déjà fait?

lapin compris...
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de PCPT
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 6 janv. 2008 à 10:15
0
Utile
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
Commenter la réponse de PCPT
cs_cheyenne 693 Messages postés samedi 18 mai 2002Date d'inscription 17 avril 2017 Dernière intervention - 6 janv. 2008 à 10:30
0
Utile
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
Commenter la réponse de cs_cheyenne
cs_cheyenne 693 Messages postés samedi 18 mai 2002Date d'inscription 17 avril 2017 Dernière intervention - 6 janv. 2008 à 13:58
0
Utile
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
Commenter la réponse de cs_cheyenne
cs_cheyenne 693 Messages postés samedi 18 mai 2002Date d'inscription 17 avril 2017 Dernière intervention - 6 janv. 2008 à 15:10
0
Utile
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
Commenter la réponse de cs_cheyenne

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.