Téléchargement
-
- Messages : 80
- Inscription : mer. 24/mai/2006 12:12
Téléchargement
Help!
Bonjour à tous
Je voudrais télécharger des vidéos protégés par un login et mot de passe
(que je possède).
Je voudrais élaborer un programme qui me permette de gérer et télécharger les liens.
Ma question est: Est-il possible avec Purebasic de voir tous les liens des vidéos et ainsi de pouvoir les gérer...
Tous les liens sont en php. Purebasic peut-il gérer ce type de lien?
Merci de votre aide.
Bonjour à tous
Je voudrais télécharger des vidéos protégés par un login et mot de passe
(que je possède).
Je voudrais élaborer un programme qui me permette de gérer et télécharger les liens.
Ma question est: Est-il possible avec Purebasic de voir tous les liens des vidéos et ainsi de pouvoir les gérer...
Tous les liens sont en php. Purebasic peut-il gérer ce type de lien?
Merci de votre aide.
ce n'est pas très précis tout çà.
il semble que la première chose à faire dans ton cas, c'est de télécharger
le source HTML de ta page qui contient les liens de tes videos.
ensuite, tu analyses le source HTML en cherchant les balises de liens <a>.
ce n'est pas à PureBasic de savoir gérer les liens php.
je ne comprends pas cette question en fait.
une page web, c'est ni plus ni moins que du texte.
du coup, tu la télécharge, et tu l'analyse toi-meme via une procédure de ton cru.
je t'ai mis un lien dans ton autre post (que j'ai déplacé dans la section débutant).
dans l'archive il y a la fonction DownloadUrltoFile() c'est ce qu'il te faut.
il semble que la première chose à faire dans ton cas, c'est de télécharger
le source HTML de ta page qui contient les liens de tes videos.
ensuite, tu analyses le source HTML en cherchant les balises de liens <a>.
ce n'est pas à PureBasic de savoir gérer les liens php.
je ne comprends pas cette question en fait.
une page web, c'est ni plus ni moins que du texte.
du coup, tu la télécharge, et tu l'analyse toi-meme via une procédure de ton cru.
je t'ai mis un lien dans ton autre post (que j'ai déplacé dans la section débutant).
dans l'archive il y a la fonction DownloadUrltoFile() c'est ce qu'il te faut.
-
- Messages : 80
- Inscription : mer. 24/mai/2006 12:12
Téléchargement
Pardon de ne pas être très clair...Mais j'ai du mal à comprendre comment purebasic travail pour les liens html.
Merci pour les liens j'ai pigé.
J'ai créé un web gadget avec ma page à télécharger:
(http://login:pass@adressedelapage)
A partir du moment que je suis "logger" à l'ouverture de mom programme comment je peut télécharger les vidéos?
Quel serveur utilisé (apparament www.adressedelapage)?
Dans l'adresse du fichier à télécharger dois-je remettre http://login@pass?
J'ai essayé avec ceci:
Aucun résultat la fenetre windows ne souvre même pas.
Merci pour les liens j'ai pigé.
J'ai créé un web gadget avec ma page à télécharger:
(http://login:pass@adressedelapage)
A partir du moment que je suis "logger" à l'ouverture de mom programme comment je peut télécharger les vidéos?
Quel serveur utilisé (apparament www.adressedelapage)?
Dans l'adresse du fichier à télécharger dois-je remettre http://login@pass?
J'ai essayé avec ceci:
Code : Tout sélectionner
If InitNetwork() = 0
MessageRequester("Error", "Can't initialize the network !", 0)
End
EndIf
#bufferlengte=10240
Global buffer
buffer = AllocateMemory(#bufferlengte)
Global buf$
Global EOL$
EOL$ = Chr(13)+Chr(10)
Global filename$
filename$="video.avi"
server$="www.adressesite.com"
url$="http://login:pass:www.adressesite.com/"
Port = 80
Global size
Global oldsize
Global rate
Global ratetel
Global buf$
Global header
Global startReceive
Global hwnd
Global ConnectionID
Global filesize
Global timeout
Global aniwin
Global h
Global einde
h=LoadLibrary_("Shell32.dll")
;
Procedure incoming(result)
b.b=0
b$=""
rest=0
Select header
Case 0
SendMessage_(AniWin,#ACM_OPEN,h,160)
i=0
Repeat
If PeekB(buffer+i)=13 And PeekB(buffer+i+1)=10 And PeekB(buffer+i+2)=13 And PeekB(buffer+i+3)=10
b$=Space(i+4)
CopyMemory(buffer,@b$,i+4)
rest=i
i=result-1
EndIf
i+1
Until i=result
;
Repeat
;
If Left(b$,2)=EOL$
If startreceive=1
b$=Mid(b$,3,Len(b$)-3)
If CreateFile(1,filename$)
WriteData(buffer+rest+4, result-rest-4)
header=1
size=result-rest-4
SetGadgetText(4,"Received "+Str(size)+" of "+Str(filesize)+" bytes")
Else
header=2
EndIf
EndIf
Else
search=FindString(b$, EOL$ , 1)
If search>0
l$=Left(b$,search-1)
b$=Mid(b$,search+2,Len(b$))
pos=FindString(l$,"200 " , 1)
If pos
startreceive=1 ; ok
Else
pos=FindString(l$,"404 " , 1)
If pos
;error 404 not founf
Else
pos=FindString(l$,"Content-Length:" , 1)
If pos
pos=FindString(l$," " , 1)
filesize=Val(Mid(l$,pos+1,Len(l$)))
EndIf
EndIf
EndIf
Debug l$
Else
l$=""
EndIf
EndIf ;
Until search=0
Case 1
timeout=0
WriteData(buffer, result)
size+result
SetGadgetText(4,"Received "+Str(size)+" of "+Str(filesize)+" bytes")
stap=100*size/filesize
SetGadgetState(2, stap)
If filesize=size
Debug "File Received"
header=2
Debug Str(size)+" of "+Str(filesize)+" bytes"
KillTimer_(hWnd,1) ; 20 milisecond timer
KillTimer_(hWnd,2) ; 1 sec timer
KillTimer_(hWnd,3) ; 500 msec timer
CloseFile(1)
CloseNetworkConnection(ConnectionID)
Debug "Connection Closed"
DestroyWindow_(AniWin)
einde=1
EndIf
EndSelect
EndProcedure
;
Procedure MyWindowCallback(WindowID, Message, wParam, lParam)
Result = #PB_ProcessPureBasicEvents
Select WindowID
Case hwnd
Select message
Case #WM_TIMER
result=1
Select wparam
Case 1 ; timer
If NetworkClientEvent(ConnectionID)
result=ReceiveNetworkData(ConnectionID, buffer, #bufferlengte)
incoming(result)
EndIf
Case 2 ; timeout
timeout+1
If timeout>10
If IsFile(1)
CloseFile(1)
EndIf
header=2
Debug "Timeout"
EndIf
Case 3
ratetel+500
If ratetel>0
rate=size/ratetel
EndIf
SetGadgetText(3,"Download speed..."+Str(rate)+" KB/s. Time "+Str(ratetel/1000)+" s.")
EndSelect
EndSelect
EndSelect
ProcedureReturn Result
EndProcedure
;
hwnd=OpenWindow(0,100,450,335,160,#PB_Window_SystemMenu,"Downloading "+filename$+" from "+server$)
;
If hwnd
If CreateGadgetList(WindowID())
ButtonGadget(1, 250, 128, 72, 20, "Cancel")
ProgressBarGadget(2, 10, 100, 313, 20, 0, 100)
TextGadget(3, 20, 80, 280, 15, "")
TextGadget(4, 20, 65, 280, 15, "")
;
AniWin=CreateWindowEx_(0,"SysAnimate32","",#ACS_AUTOPLAY|#ACS_CENTER|#ACS_TRANSPARENT|#WS_CHILD|#WS_VISIBLE|#WS_CLIPCHILDREN|#WS_CLIPSIBLINGS,25,10,280,50, hwnd,0,GetModuleHandle_(0),0)
;
ConnectionID = OpenNetworkConnection(server$, Port)
;
If ConnectionID
SendNetworkString(ConnectionID, "GET "+URL$+filename$+" HTTP/1.0"+eol$)
SendNetworkString(ConnectionID, eol$)
;
SetWindowCallback(@MyWindowCallback())
; -------------- timers ----------------
SetTimer_(hWnd,1,1,0) ; 1 milisecond timer
SetTimer_(hWnd,2,1000,0) ; 1 sec timer
SetTimer_(hWnd,3,500,0) ; 500 msec timer
;
Repeat
EventID=WaitWindowEvent()
If EventID = #PB_EventGadget
Select EventGadgetID()
Case 1
header=2
EndSelect
EndIf
Until einde=1
EndIf
EndIf
EndIf
FreeLibrary_(h)
Delay(4000)
;
End
Dernière modification par Programmes le sam. 07/avr./2007 13:25, modifié 1 fois.
PS met ton code source entre les balises CODE prévue à cet effet sinon c'est galère à lire et copier. J'ai modifier ton post.
tu utilises toujours PB3.94 ?
tu utilises toujours PB3.94 ?
Dernière modification par Flype le jeu. 05/avr./2007 13:10, modifié 2 fois.
-
- Messages : 80
- Inscription : mer. 24/mai/2006 12:12
Téléchargement
Pardons pour cette erreur! je ne savais comment faire.
J'utilse 3.94 mais j'ai la version 4.0 que je commence à découvrir.
Il est vrai que j'aimerais mieux le faire avec purebasic 4.0
J'utilse 3.94 mais j'ai la version 4.0 que je commence à découvrir.
Il est vrai que j'aimerais mieux le faire avec purebasic 4.0
la syntaxe d'une URL sécurisée ne serait elle pas plutot :
protocol://<user>:<password>@<host>:<port>/<url-path>
c'est à dire avec un @ au lieu de :
?
tu ne veux pas préparer une page web avec login
et avec quelques videos et nous donner le lien ici.
sinon si c'est pour tester dans le vent on arrivera à rien.
protocol://<user>:<password>@<host>:<port>/<url-path>
c'est à dire avec un @ au lieu de :
?
tu ne veux pas préparer une page web avec login
et avec quelques videos et nous donner le lien ici.
sinon si c'est pour tester dans le vent on arrivera à rien.
-
- Messages : 80
- Inscription : mer. 24/mai/2006 12:12
Téléchargement
Merci à toi je vais déjà essayer avec ca
-
- Messages : 80
- Inscription : mer. 24/mai/2006 12:12
-
- Messages : 80
- Inscription : mer. 24/mai/2006 12:12
OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! OUI ! Oui! 

Denis
Bonne Jounée à tous
Bonne Jounée à tous
-
- Messages : 80
- Inscription : mer. 24/mai/2006 12:12
Téléchargement
Comme promis l'échantillon de la page web pour mon programme
(j'ai enlevé les gadgets pour plus de clareté)
Je l'ai envoyé sur ta bal...
Merci à toi.
(j'ai enlevé les gadgets pour plus de clareté)
Je l'ai envoyé sur ta bal...
Merci à toi.
Dernière modification par Programmes le sam. 07/avr./2007 13:31, modifié 2 fois.