Aide et conseils concernant AutoIt et ses outils.
Benji2011
Niveau 1
Messages : 13 Enregistré le : dim. 17 avr. 2011 14:01
Status :
Hors ligne
#1
Message
par Benji2011 » ven. 22 avr. 2011 18:13
Bonjour à tous,
Je cherche à faire un script qui upload un fichier sur MegaUpload, mais je suis bloqué, la requete s'éxecute mais aucunne réponse du serveur...
Voici le code :
Edit : voir quelques message en dessous pour un code fonctionnel.
Modifié en dernier par
Benji2011 le mar. 28 juin 2011 15:11, modifié 3 fois.
overflow
Niveau 5
Messages : 138 Enregistré le : sam. 05 déc. 2009 23:49
Status :
Hors ligne
#2
Message
par overflow » ven. 22 avr. 2011 20:16
tu a le reste du script pour essayer d y voir plus clair ?
Benji2011
Niveau 1
Messages : 13 Enregistré le : dim. 17 avr. 2011 14:01
Status :
Hors ligne
#3
Message
par Benji2011 » ven. 22 avr. 2011 20:52
J'ai mit le nécessaire, le script est très long, en gros je m'identifie sur Megaupload, je vais sur /multiupload/ puis je récupere un UPLOAD_IDENTIFIER et un serveur wwwXXX.MU.com et je me reconnecte sur wwwXXX.MU.com/upload_done.php?UPLOAD_IDENTIFIER=... afin d'effectué l'upload, puis je ConsoleWrite ce que je reçois pour ensuite avancé, mais là je ne reçois rien :s
Benji2011
Niveau 1
Messages : 13 Enregistré le : dim. 17 avr. 2011 14:01
Status :
Hors ligne
#4
Message
par Benji2011 » sam. 23 avr. 2011 16:51
Up S'il vous plait, j'aimerais quelqu'un qui m'aide soit ici soit direct via Msn :s
overflow
Niveau 5
Messages : 138 Enregistré le : sam. 05 déc. 2009 23:49
Status :
Hors ligne
#5
Message
par overflow » dim. 24 avr. 2011 00:48
ils n ont pas une interface 'propriétaire' sur megaupload ?
(un truc encapsuler dans un fichier flash ?)
Benji2011
Niveau 1
Messages : 13 Enregistré le : dim. 17 avr. 2011 14:01
Status :
Hors ligne
#6
Message
par Benji2011 » dim. 19 juin 2011 15:13
Salut, désolé pour la réponse très tardive, mais oui mais MU utilise quand même l'upload standard
http://megaupload.com/multiupload/ et j'y arrive toujours pas
Edit : j'ai mit un code qui peut être exécuter directement (Identifiants à completé et crée un fichier texte (jonglerai.txt dans un dossier Fichiers Générés))
mikell
Spammer !
Messages : 6292 Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status :
Hors ligne
#7
Message
par mikell » dim. 19 juin 2011 17:32
Et en passant par les fonctions WinHttp ça va pas non plus ?
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Benji2011
Niveau 1
Messages : 13 Enregistré le : dim. 17 avr. 2011 14:01
Status :
Hors ligne
#8
Message
par Benji2011 » mar. 28 juin 2011 15:11
En passant par WinHTTP j'ai pas réussi, mais j'ai finallement reussi avec les sockets normal :
-Connexion et identification à MU
-Récupère un id d'upload
-Envoi le fichier
Voici le code :
► Afficher le texte Code
Code : Tout sélectionner
Global $IdentifiantMU = '' ;Votre identifiant MU
Global $PasseMU = '' ;Votre mot de passe MU
Global $FileUpMU = '' ;Fichier à uploader (chemin exemple : coucou.txt ou Salut/coucou.txt)
Global $DescriptionFileMU = '' ;Description du fichier (Apparaitra sur la page de DL du fichier)
$startupTCP = TCPStartup()
Global $ipMU = TCPNameToIP('www.megaupload.com')
Global $Etape = 0
Global $socket
Global $Tout = ''
Global $CookieMU
Global $SessIDMU
Global $FileUpMUID
Global Const $UserAgent = 'Mozilla/5.0 (Windows NT 6.1; rv:2.0) Gecko/20100101 Firefox/4.0'
Func Status($texte)
ConsoleWrite(@CRLF & $texte)
EndFunc
Func FermeSocket()
$Tout = ''
TCPCloseSocket($socket)
EndFunc
Func ConnectMU()
Status('Connexion...')
$socket = TCPConnect($ipMU, 80)
If $socket == -1 Then
Status('Erreur de la connexion.')
Exit
return 0
EndIf
if ($IdentifiantMU == '' OR $PasseMU == '') Then
MsgBox(16, 'Erreur', 'Vous devez parametrer vos identifiants dans le script.')
FermeSocket()
Exit
return 0
EndIf
$form = 'login=1&redir=1&username=' & $IdentifiantMU & '&password=' & $PasseMU
$longueur = StringLen($form)
$envoi = "POST /?c=login HTTP/1.1" & @CRLF
$envoi &= "Host: http://www.megaupload.com" & @CRLF
$envoi &= "User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:2.0) Gecko/20100101 Firefox/4.0" & @CRLF
$envoi &= "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" & @CRLF
$envoi &= "Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3" & @CRLF
$envoi &= "Accept-Encoding: deflate" & @CRLF
$envoi &= "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7" & @CRLF
$envoi &= "Keep-Alive: 115" & @CRLF
$envoi &= "Connexion: keep-alive" & @CRLF
$envoi &= "Content-Type: application/x-www-form-urlencoded" & @CRLF
$envoi &= "Content-Length: " & $longueur & @CRLF & @CRLF
$envoi &= $form & @CRLF & @CRLF
$Etape = 1
TCPSend($socket, $envoi)
Status('Envoi des identifiants...')
EndFunc
Func Verif_ConnectMU($recv)
$Tout &= $recv
$SetCookie = StringRegExp($Tout, 'Set-Cookie: (user=(.*?);.*)', 1)
If @error == 0 Then
$CookieMU = $SetCookie[0]
$SessIDMU = $SetCookie[1]
Status('Identification réussi')
FermeSocket()
RecupIDUpload()
EndIf
EndFunc
Func RecupIDUpload()
$Etape = 2
$socket = TCPConnect($ipMU, 80)
If $socket == -1 Then
Status('Erreur de connexion.')
Exit
return 0
EndIf
$envoi = "GET /multiupload/ HTTP/1.1" & @CRLF
$envoi &= "Host: http://www.megaupload.com" & @CRLF
$envoi &= "User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:2.0) Gecko/20100101 Firefox/4.0" & @CRLF
$envoi &= "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" & @CRLF
$envoi &= "Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3" & @CRLF
$envoi &= "Accept-Encoding: deflate" & @CRLF
$envoi &= "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7" & @CRLF
$envoi &= "Cookie: user=" & $SessIDMU & ";" & @CRLF
$envoi &= "Keep-Alive: 115" & @CRLF
$envoi &= "Connexion: keep-alive" & @CRLF & @CRLF
Status('Récupération de l''id d''un upload...')
TCPSend($socket, $envoi)
EndFunc
Func Verif_RecupIDUpload($recv)
$Tout &= $recv
$reg = StringRegExp($Tout, '<FORM style="display: inline;" METHOD="POST" ENCTYPE="multipart/form-data" action="http://(.*?)"', 1)
If @error == 0 Then
$FileUpMUID = $reg[0]
Status('Id récupéré, Démarrage de l''Upload...')
FermeSocket()
UploadFileMU()
EndIf
EndFunc
Func UploadFileMU()
$Etape = 3
$reg = StringRegExp($FileUpMUID, '(.*?)/(.*)', 1)
If @error == -1 Then
FermeSocket()
Status('Erreur de la connexion.')
Exit
return 0
EndIf
$Host = $reg[0]
$Get = $reg[1]
$reg = StringRegExp($FileUpMU, '.*?\\?(.*?txt)', 1)
If @error <> 0 Then
FermeSocket()
Status('Erreur.' & $FileUpMU)
Exit
return 0
EndIf
$FileUpMUName = $reg[0]
$socket = TCPConnect(TCPNameToIP($Host), 80)
If $socket == -1 Then
Status('Erreur de la communication.')
Exit
return 0
EndIf
$UpMUContent = FileRead($FileUpMU)
$BoundaryH = "---------------------------25200134586618"
$Boundary = "--" & $BoundaryH
$FormData = $Boundary & @CRLF
$FormData &= 'Content-Disposition: form-data; name="multifile_0"; filename="' & $FileUpMUName & '"' & @CRLF & @CRLF
$FormData &= 'Content-Type: text/plain' & @CRLF & @CRLF
$FormData &= $UpMUContent & @CRLF
$FormData &= $Boundary & @CRLF
$FormData &= 'Content-Disposition: form-data; name="multimessage_0"' & @CRLF & @CRLF
$FormData &= $DescriptionFileMU & @CRLF
$FormData &= $Boundary & @CRLF
$FormData &= 'Content-Disposition: form-data; name="multifile_1; filename=""' & @CRLF & @CRLF
$FormData &= 'Content-Type: application/octet-stream' & @CRLF & @CRLF & @CRLF
$FormData &= $Boundary & @CRLF
$FormData &= 'Content-Disposition: form-data; name="multimessage_1"' & @CRLF & @CRLF & @CRLF
$FormData &= $Boundary & @CRLF
$FormData &= 'Content-Disposition: form-data; name="multifile_2; filename=""' & @CRLF & @CRLF
$FormData &= 'Content-Type: application/octet-stream' & @CRLF & @CRLF & @CRLF
$FormData &= $Boundary & @CRLF
$FormData &= 'Content-Disposition: form-data; name="multimessage_2"' & @CRLF & @CRLF & @CRLF
$FormData &= $Boundary & @CRLF
$FormData &= 'Content-Disposition: form-data; name="multifile_3; filename=""' & @CRLF & @CRLF
$FormData &= 'Content-Type: application/octet-stream' & @CRLF & @CRLF & @CRLF
$FormData &= $Boundary & @CRLF
$FormData &= 'Content-Disposition: form-data; name="multimessage_3"' & @CRLF & @CRLF & @CRLF
$FormData &= $Boundary & @CRLF
$FormData &= 'Content-Disposition: form-data; name="multifile_4; filename=""' & @CRLF & @CRLF
$FormData &= 'Content-Type: application/octet-stream' & @CRLF & @CRLF & @CRLF
$FormData &= $Boundary & @CRLF
$FormData &= 'Content-Disposition: form-data; name="multimessage_4"' & @CRLF & @CRLF & @CRLF
$FormData &= $Boundary & @CRLF
$FormData &= 'Content-Disposition: form-data; name="multifile_5; filename=""' & @CRLF & @CRLF
$FormData &= 'Content-Type: application/octet-stream' & @CRLF & @CRLF & @CRLF
$FormData &= $Boundary & @CRLF
$FormData &= 'Content-Disposition: form-data; name="multimessage_5"' & @CRLF & @CRLF & @CRLF
$FormData &= $Boundary & @CRLF
$FormData &= 'Content-Disposition: form-data; name="multifile_6; filename=""' & @CRLF & @CRLF
$FormData &= 'Content-Type: application/octet-stream' & @CRLF & @CRLF & @CRLF
$FormData &= $Boundary & @CRLF
$FormData &= 'Content-Disposition: form-data; name="multimessage_6"' & @CRLF & @CRLF & @CRLF
$FormData &= $Boundary & @CRLF
$FormData &= 'Content-Disposition: form-data; name="multifile_7; filename=""' & @CRLF & @CRLF
$FormData &= 'Content-Type: application/octet-stream' & @CRLF & @CRLF & @CRLF
$FormData &= $Boundary & @CRLF
$FormData &= 'Content-Disposition: form-data; name="multimessage_7"' & @CRLF & @CRLF & @CRLF
$FormData &= $Boundary & @CRLF
$FormData &= 'Content-Disposition: form-data; name="multifile_8; filename=""' & @CRLF & @CRLF
$FormData &= 'Content-Type: application/octet-stream' & @CRLF & @CRLF & @CRLF
$FormData &= $Boundary & @CRLF
$FormData &= 'Content-Disposition: form-data; name="multimessage_8"' & @CRLF & @CRLF & @CRLF
$FormData &= $Boundary & @CRLF
$FormData &= 'Content-Disposition: form-data; name="multifile_9; filename=""' & @CRLF & @CRLF
$FormData &= 'Content-Type: application/octet-stream' & @CRLF & @CRLF & @CRLF
$FormData &= $Boundary & @CRLF
$FormData &= 'Content-Disposition: form-data; name="multimessage_9"' & @CRLF & @CRLF & @CRLF
$FormData &= $Boundary & @CRLF
$FormData &= 'Content-Disposition: form-data; name="toemail"' & @CRLF & @CRLF & @CRLF
$FormData &= $Boundary & @CRLF
$FormData &= 'Content-Disposition: form-data; name="fromemail"' & @CRLF & @CRLF & @CRLF
$FormData &= $Boundary & @CRLF
$FormData &= 'Content-Disposition: form-data; name="multiemail"' & @CRLF & @CRLF & @CRLF
$FormData &= $Boundary & @CRLF
$FormData &= 'Content-Disposition: form-data; name="password"' & @CRLF & @CRLF & @CRLF
$FormData &= $Boundary & @CRLF
$FormData &= 'Content-Disposition: form-data; name="accept"' & @CRLF & @CRLF & 'on' & @CRLF
$FormData &= $Boundary & '--'
$longueur = StringLen($FormData)
$envoi = "POST /" & $Get & " HTTP/1.1" & @CRLF
$envoi &= "Content-Type: multipart/form-data; boundary=" & $BoundaryH & @CRLF
$envoi &= "Host: " & $host & @CRLF
$envoi &= "Content-Length: " & $longueur & @CRLF
$envoi &= "Cookie: l=fr; user=" & $SessIDMU & @CRLF & @CRLF
$envoi &= $FormData
TCPSend($socket, $envoi)
Status('Envoi du fichier...')
EndFunc
Func Verif_UploadFileMU($recv)
$Tout &= $recv
$reg = StringRegExp($Tout, "\( Array\('(.*?)'\, '(.*?)'\, '(http.*?)' \) \)", 1)
If @error == 0 Then
$FileMUpName = $reg[0]
$FileMUpSize = $reg[1]
$FileMUpLink = $reg[2]
Status('Upload réussi de ' & $FileMUpName & ' sur le lien ' & $FileMUpLink & ' (' & $FileMUpSize & ').')
FermeSocket()
Exit
EndIf
EndFunc
ConnectMU()
While 1
$recv = TCPRecv($socket, 50000)
If $recv <> '' Then
Switch $Etape
Case 1
Verif_ConnectMU($recv)
Case 2
Verif_RecupIDUpload($recv)
Case 3
Verif_UploadFileMU($recv)
EndSwitch
EndIf
WEnd
Merci à tout ceux qui m'ont aidé