OVH Cloud OVH Cloud

Lire un fichier html

7 réponses
Avatar
Nicolas
Bonjour,

Je souhaiterais lire les lignes d'un fichier html
directement sur le net sans le copier sur mon disque dur.

Actuellement je fais

Open "C:\janvier2000.htm" For Input As #1

pour ouvrir le fichier janvier2000.htm

Comment faire pour ouvrir par exemple le fichier

http://www.google.fr/intl/fr/about.html


Merci

Nicolas

7 réponses

Avatar
ng
Salut,
Regarde du coté de URLDownloadToFile ou sinon il faudra utiliser le
controle winsock (ou les APIs) et faire un GET...

Nicolas.


Le 21/12/2003, "Nicolas" a supposé :
Bonjour,

Je souhaiterais lire les lignes d'un fichier html
directement sur le net sans le copier sur mon disque dur.

Actuellement je fais

Open "C:janvier2000.htm" For Input As #1

pour ouvrir le fichier janvier2000.htm

Comment faire pour ouvrir par exemple le fichier

http://www.google.fr/intl/fr/about.html


Merci

Nicolas



--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
Avatar
Jean-Marc
"ng" a écrit dans le message de
news:
Salut,
Regarde du coté de URLDownloadToFile ou sinon il faudra utiliser le
controle winsock (ou les APIs) et faire un GET...



Hello,
voici un moyen tout simple :

ajoute le composant "Microsoft Internet Transfert Control"
crée un controle sur ta form (Inet1)
et le code exemple suivant:

note bien: tout est dans le:
bArray = Inet1.OpenURL(Url, icByteArray)

--------------------
Option Explicit

Private Function GetFileFromUrlToDisk(Url As String, fileName As String) As
Long
Dim bArray() As Byte
Dim f As Integer

bArray = Inet1.OpenURL(Url, icByteArray)
f = FreeFile
Open fileName For Binary Access Write As #f
Put #f, , bArray()
Close #f
GetFileFromUrlToDisk = UBound(bArray)
End Function

Private Sub Command1_Click()
Dim Url As String
Dim fileName As String
Dim Length As Long

Url = "http://www.google.fr/intl/fr/about.html"
fileName = "c:local.htm"

Length = GetFileFromUrlToDisk(Url, fileName)
If Length <> -1 Then
MsgBox Length & " bytes lus depuis " & Url & " et écrit dans " &
fileName
Else
MsgBox "Erreur lors de l'accès à " & Url
End If
End Sub
-----------------
Jean-Marc
Avatar
ng
Arf je te déconseille ce contrôle que je trouve assez *merdique* et instable
(il ne fonctionne pas toujours comme il le faudrait etc... j'ai eu pas mal
de problèmes avec...)

--
--
http://www.ngsoft-fr.com
"Jean-Marc" a écrit dans le message de news:
3fe5cda9$0$17852$
"ng" a écrit dans le message de
news:
> Salut,
> Regarde du coté de URLDownloadToFile ou sinon il faudra utiliser le
> controle winsock (ou les APIs) et faire un GET...

Hello,
voici un moyen tout simple :

ajoute le composant "Microsoft Internet Transfert Control"
crée un controle sur ta form (Inet1)
et le code exemple suivant:

note bien: tout est dans le:
bArray = Inet1.OpenURL(Url, icByteArray)

--------------------
Option Explicit

Private Function GetFileFromUrlToDisk(Url As String, fileName As String)


As
Long
Dim bArray() As Byte
Dim f As Integer

bArray = Inet1.OpenURL(Url, icByteArray)
f = FreeFile
Open fileName For Binary Access Write As #f
Put #f, , bArray()
Close #f
GetFileFromUrlToDisk = UBound(bArray)
End Function

Private Sub Command1_Click()
Dim Url As String
Dim fileName As String
Dim Length As Long

Url = "http://www.google.fr/intl/fr/about.html"
fileName = "c:local.htm"

Length = GetFileFromUrlToDisk(Url, fileName)
If Length <> -1 Then
MsgBox Length & " bytes lus depuis " & Url & " et écrit dans " &
fileName
Else
MsgBox "Erreur lors de l'accès à " & Url
End If
End Sub
-----------------
Jean-Marc




Avatar
Nicolas
Géniaux, vous etes géniaux !!!

Du coup j'ai trouvé un code sur le net super pratique :

Private Declare Function URLDownloadToFile Lib "urlmon"
Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal
szURL As String, ByVal szFileName As String, ByVal
dwReserved As Long, ByVal lpfnCB As Long) As Long

Public Function DownloadFile(URL As String, LocalFilename
As String) As Boolean
Dim lngRetVal As Long
lngRetVal = URLDownloadToFile(0, URL, LocalFilename,
0, 0)
If lngRetVal = 0 Then DownloadFile = True
End Function

Private Sub Commande0_Click()

DownloadFile "http://www.google.fr/intl/fr/about.html", "c
:about.htm"
End Sub



Merci encore à tous les deux !!!

Nicolas
Avatar
Pierre Alexis [MVP]
Salut Nicolas,

Tu as écrit :

Arf je te déconseille ce contrôle que je trouve assez *merdique* et instable
(il ne fonctionne pas toujours comme il le faudrait etc... j'ai eu pas mal
de problèmes avec...)



J'allais le dire... Beaucoup de bugs dans ce contrôle...

--
Pierre ALEXIS - MVP Visual Basic
Courriel & messenger :
FAQ Visual Basic : http://faq.vb.free.fr/
Avatar
François Picalausa
"Pierre Alexis [MVP]" a écrit dans le
message de news:O86ACY%
Salut Nicolas,

Tu as écrit :

Arf je te déconseille ce contrôle que je trouve assez *merdique* et
instable (il ne fonctionne pas toujours comme il le faudrait etc...
j'ai eu pas mal de problèmes avec...)



J'allais le dire... Beaucoup de bugs dans ce contrôle...



Bonjour/soir,

par contre, les API Inet... ça c'est pas mal chouette aussi ;-)
http://www.vbip.com/wininet/index.asp

(un peu plus difficile à mettre en oeuvre que le URLDownloadToFile ;-) )

Sinon, au lieu de URLDownloadToFile, on peut envisager l'emploi de
URLDownloadToCacheFile, ce qui permet de ne pas devoir se soucier du fait
que le fichier existe ou non, de sa suppression, ... En fonction des besoins
de l'application, l'un ou l'autre peuvent être intéressants.

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com
Avatar
Dara SARNIRAND
Sous Windows 2000 SP3, XP ou 2003, tu peux utiliser
WinHTTP qui est une extension COM Microsoft.

Exemple :

Dim WinHttpReq As Object
Set WinHttpReq = CreateObject("WinHttp.WinHttpRequest.5");
WinHttpReq.Open "GET", "http://www.microsoft.com", False
WinHttpReq.Send
Debug.Print WinHttpReq.ResponseText


J'espère avoir répondu à ta question.

Dara.



-----Message d'origine-----
Bonjour,

Je souhaiterais lire les lignes d'un fichier html
directement sur le net sans le copier sur mon disque dur.

Actuellement je fais

Open "C:janvier2000.htm" For Input As #1

pour ouvrir le fichier janvier2000.htm

Comment faire pour ouvrir par exemple le fichier

http://www.google.fr/intl/fr/about.html


Merci

Nicolas
.