IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Upload sur Megaupload en Java


Sujet :

Java

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Août 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 13
    Par défaut Upload sur Megaupload en Java
    Bonsoir,

    Je cogite un peu sur le sujet, jusqu'ici j'arrive à me connecter sur mon compte à partir de mon application mais je suis complètement perdu pour ce qui est de l'upload car c'est une application flash apparemment qui gère ça sur leur site...

    Quelqu'un aurait une petite idée sur la marche à suivre ou un site qui m'éclaircirai un peu le sujet? Je vous avouerai que je viens de passer ma journée à chercher donc je me tourne vers vous

    Je vous remercie d'avance

    Cordialement,

  2. #2
    Membre très actif
    Profil pro
    Inscrit en
    Février 2010
    Messages
    768
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 768
    Par défaut
    Bonjour,

    Quelle est le but de ton appli, car là on ne sais pas ?

  3. #3
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2007
    Messages
    697
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 697
    Par défaut
    Citation Envoyé par Jimmy_ Voir le message
    Bonjour,

    Quelle est le but de ton appli, car là on ne sais pas ?
    uploader un fichier sur megaupload ??
    Après à quoi sert l'upload, je ne suis pas sur que ce soit utile pour résoudre le problème

    Pour résoudre ton problème tu peux peut-être essayer de sniffer la requête HTTP envoyée lors de l'upload.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Août 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 13
    Par défaut
    Le but de mon programme est d'uploader automatiquement des fichiers (créés sous toshop et divers fichier) sur mon compte.
    Grosso modo, tous les soirs mon programme uploadera mes nouveaux fichiers sur mon compte, car je voudrais pouvoir aller me coucher et laisser mon ordi gérer ça seul sans que je n'ai à passer par leur site.

    Je vais essayer ta solution Atha2 et je reviens vers vous pour vous dire ce qui en retourne.

    Je vous remercie de votre aide

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Août 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 13
    Par défaut
    Me revoilà, après test de sniff des requêtes http sur l'upload. Pas très probant à vrai dire...
    Je m'y suis peut être mal pris, mais j'ai pas vu grand chose... J'ai utilisé HttpWatch

    Une autre idée pour trouver une solution?

  6. #6
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2007
    Messages
    697
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 697
    Par défaut
    Pas grand chose cad ?

    Sinon si la requête est chiffrée (donc pas utilisable), tu peux toujours essayer la classe Robot pour simuler les clicks et les saisies.
    En gros ton application fait :

    • récupération des uris des fichiers à uploader
    • lancement du navigateur avec Runtime.getRuntime().exec("iexplore url_de_la_page_d_upload")
    • simulation du click dans le champs de saisie de l'uri du fichier à uploader
    • remplissage avec l'uri du fichier :
      • soit en simulant l'appuie d'une touche pour chaque lettre du nom de fichier
      • soit en copiant le nom du fichier dans le presspapier (en utilisant la class Clipboard) puis en simulant Ctrl-V

    • simulation du click sur le bouton uploader

    Par contre il faut laisser du temps entre chaque action pour être sur que les clicks sont bien pris en compte, que la page est bien chargée...
    Éventuellement tu auras peut-être des problèmes de focus. A voir...
    Je ne te garantis pas que ça marchera mais c'est une piste à explorer

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Août 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 13
    Par défaut
    J'ai déjà pensé à cette idée mais l'inconvenient est leur flash...

    Voila leur code au niveau de l'upload :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
     
    <script type="text/javascript"> 
     
    			function resizeuploader(state)
    			{
    			   if (state == 1)
    			   {
    				 document.getElementById('singleuploaderswf').height = 104;
     				 document.getElementById('u_body').className = 'color2 start_st1';
    			   }
    			   else if(state == 2)
    			   {
    				 document.getElementById('singleuploaderswf').height = 188;
    				 document.getElementById('u_body').className = 'color2 start_st2';
    			   }
    			   else if(state == 3)
    			   {
    				 document.getElementById('singleuploaderswf').height = 380;
    				 document.getElementById('u_body').className = 'color2 start_st3';
    			   }
    			}
     
     
    			var flashvars = {};		
    						flashvars.user = "e74e74d********1594b09e3ebf3a";			flashvars.language = "fr";
    			flashvars.latin = "1";
    			flashvars.server = "http://www828.megaupload.com/";
    			flashvars.txt01 = "Temps restant estimé";
    			flashvars.txt02 = " of ";
    			flashvars.txt03 = "Sélectionnez un fichier à téléverser.";
    			flashvars.txt04 = "avancé";
    			flashvars.txt05 = "Échange de trafic";
    			flashvars.txt06 = "qu'est-ce que c'est?";
    			flashvars.txt07 = "avancé";
    			flashvars.txt08 = "fermer";
    			flashvars.txt09 = "Adresse e-mail du récipiendaire :";
    			flashvars.txt10 = "Votre courriel:";
    			flashvars.txt11 = "Mot de passe du lien";
    			flashvars.txt12 = "Destinataires multiples";
    			flashvars.txt13 = "(optionnel)";
    			flashvars.txt14 = "(Premium)";
    			flashvars.txt15 = "Extraction du fichier HTTP / FTP";
    			flashvars.txt16 = "Téléversement annulé";
    			flashvars.txt17 = "Temps restant estimé:";
    			flashvars.txt18 = "Temps écoulé:";
    			flashvars.txt19 = "Taux de transfert:";
    			flashvars.txt20 = "Sélectionnez un fichier à téléverser.";
    			flashvars.txt21 = "Saisissez une description de fichier.";
    			flashvars.txt22 = "En envoyant des fichiers à Megaupload, vous acceptez nos conditions d'utilisation.";
    			flashvars.txt23 = "Lien d'échange de trafic (Premium).";
    			flashvars.txt24 = "Téléverseur multiple";
    			flashvars.txt25 = "Qu'est-ce que l'échange de trafic?";
    			flashvars.txt26 = " (en savoir plus) ";
    			flashvars.txt27 = "Une erreur est survenue. Essayez encore.";
    			flashvars.txt28 = "Ce fichier dépasse la taille maximale de 2 Go.";
    			flashvars.txt29 = "Pour téléverser des fichiers de plus de 2 Go, cliquez ici.";
    			flashvars.txt30 = "fermer";
    			flashvars.txt31 = "Créer un lien dynamique sur ce fichier";			
    			flashvars.txt32 = "Acheter des quotas de Hotlinks";
    			flashvars.hotlink_avail = "0";
    			flashvars.hotlinkURL = "http://www.megaupload.com/?c=filemanager%26hl=1";
    			flashvars.upp_size = "12";
    			flashvars.bigfileurl = "http://www.megaupload.com/multiupload/";
    			flashvars.cancel = "Annuler";
    			flashvars.upp = "Progression du téléversement";
    			flashvars.ver = "Vérification";
    			flashvars.upc = "Téléversement terminé";
    			flashvars.upp_size = "12";
    						var params = {};
    			flashvars.id = "";
    			params.wmode = "transparent";
    			params.scale = "noscale";
    			params.salign = "lt";
    			params.allowscriptaccess = "always";
    			swfobject.embedSWF("http://wwwstatic.megaupload.com/flash/ru.swf", "singleuploaderswf", "986", "104", "0", false, flashvars, params);		
    			</script>
    Ce qui me réconforte c'est que l'on voit l'ID utilisateur et le serveur megaupload qui va être utilisé donc bon, il y a moyen d'envoyer avec ces informations mais le problème du flash, c'est que je ne voit pas comment saisir l'Uri du fichier à uploadé sachant qu'il faut aussi saisir une description... J'ai vu ici http://www.autoitscript.fr/forum/vie...php?f=3&t=7359 un script tout à la fin en C, qui explique comment il upload mais pour le portage en Java j'ai du mal me le projeter xD

    Ils pouvaient pas laisser un bon petit <form></form> php tout bête

  8. #8
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2007
    Messages
    697
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 697
    Par défaut
    Je suis pas sur de comprendre en quoi flash empêche de simuler un click.

    Pour ce qui est de la Description rien ne t’empêche de mettre un contenu aléatoire

    Pour le portage du code que tu as trouvé (qui est en autoit et non en C), ça ne devrait pas être trop dure :

    • tu trouves une API tu fait du TCP
    • tu remplaces &= par + (concaténation de chaine de caractère)
    • tu remplaces les Func par des méthodes static
    • tu gardes le reste
    • évidement c'est plus facile à dire qu'a faire mais là je peux pas t'aider^^

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Août 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 13
    Par défaut
    Merci pour ton aide, je vais creuser l'idée

    Si j'ai une solution ou un code qui tiens la route, je le mettrai en ligne ^^

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Août 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 13
    Par défaut
    J'avance doucement mais surement, je suis en progré et grâce à toi atha2 par contre la je vais juste te poser une petite question bête :

    j'ai une checkbox à coché :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="checkbox" class="checkbox" name="accept" id="terms">
    et je pense que mis prend mal pour le cocher :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    requête.addParameter("accept", "true");
    Tu pourrai m'aiguillé?

    Merci

  11. #11
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 585
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 585
    Par défaut
    Normalement une checkbox a un attribut value, et c'est ça que le formulaire envoie si elle est cochée.

    Ce n'est pas le cas dans le code que tu montres, ce qui semble indiquer que la value, ou bien est vide (mettre une chaîne vide,) ou bien est réglée par JavaScript (auquel cas le plus simple est d'espionner l'échange HTTP pour voir quelle valeur a été réglée au moment de l'envoi. De toute façon c'est plus simple de faire ça pour tous les contrôles, dès le départ.)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  12. #12
    Membre habitué
    Profil pro
    Inscrit en
    Août 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 13
    Par défaut
    Merci pour ta réponse, j'ai donc essayé avec ta manière thelvin,

    voila ce qu'il me retourne en altérant les requêtes :

    name="accept"\r\n\r\non\r\n-----------------------------41184676334--\r\n
    Ce qui voudrai dire que la valeur est "non"? Ils sont bizarre chez megaupload xD

  13. #13
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 585
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 585
    Par défaut
    De quoi tu parles ? Ce n'est pas un envoi de formulaire, ça. Regarde l'envoi du formulaire.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    Août 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 13
    Par défaut
    Pourtant ici http://www.megaupload.com/multiupload/

    C'est la chose que j'arrive à avoir comme information sur la checkbox en espionnant les échanges http.
    Peut être que j'ai loupé quelque chose mais j'arrive pas à savoir quoi...

  15. #15
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 585
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 585
    Par défaut
    Je me suis trompé, je n'ai pas reconnu l'envoi d'un formulaire avec fichiers. C'est toi qui avais raison.

    Mais la valeur est "on", pas "non". C'est une fin de ligne, avant le "on".
    ... En fait, il semble que ce soit la valeur que les navigateurs donnent par défaut à une checkbox. Je n'avais jamais remarqué, j'étais persuadé que ne pas donner de valeur était une erreur de validité (et c'est peut-être bien le cas d'ailleurs).
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  16. #16
    Membre habitué
    Profil pro
    Inscrit en
    Août 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 13
    Par défaut
    Arf la boulette "ON" semble plus logique ^^

    donc sa donnerai ça pour check la checkbox ? :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    requête.addParameter("accept", "ON");
    Je vais ré-essayer avec mon code et je vous tiens informer

  17. #17
    Membre habitué
    Profil pro
    Inscrit en
    Août 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 13
    Par défaut
    Bon je crois que je suis mauvais xD

    Voila mon code pour l'upload, et je me suis préalablement connecté avec mon compte en utilisant un POST avec login et password, et cela fonctionne, j'ai juste l'upload qui me pose un gros soucie...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    MultipartPostMethod methodes = new MultipartPostMethod("http://www.megaupload.com/multiupload/");
    File f1 = new File("C:/Users/****/Desktop/logiazdn.png");
     
     
    methodes.addParameter("accept", "ON");
    methodes.addParameter("multimessage_0","Messagewahouu");
     
    //******************************************************************************
     
     try {
    		methodes.addParameter("multifile_0", f1);
     
    			} catch (FileNotFoundException e) {
    				// TODO Bloc catch auto-généré
    				e.printStackTrace();
    			}
     
    	        try {
    				int statusCode1 = client.executeMethod(methodes);
     
    				if (statusCode1 == HttpStatus.SC_OK) {
                        System.out.println(
                            "Upload complete, response=" + methodes.getResponseBodyAsString()
                        );
                    } else {
                        System.out.println("Upload failed, response=" + HttpStatus.getStatusText(statusCode1) + "   "+methodes.getResponseBodyAsString()
                        );
                    }
     
    			} catch (HttpException e) {
    				// TODO Bloc catch auto-généré
    				e.printStackTrace();
    			} catch (IOException e) {
    				// TODO Bloc catch auto-généré
    				e.printStackTrace();
    			}
     
     
    	        System.out.println("statusLine>>>" + methodes.getStatusLine());
    	        methodes.releaseConnection();
    	        System.out.println("OK");
    Pourtant il me retourne une réponse OK le méchant... et quand j'observe mes fichiers uploadé, il est pas dedans

    Je pense que ma façon de passer mes paramètres est ce qui me provoque cela, nan?

    Dites moi si je fais fausse route avec cette méthode?

  18. #18
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 585
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 585
    Par défaut
    Juste pour info, j'ai pas l'intention de me servir de megaupload et par conséquent, je ne ferai pas de requête pour faire un upload, et je ne peux donc pas espionner à quoi ça ressemble.

    Du coup, je ne vais pas deviner ce qu'il faut envoyer précisément. Après tout cette question-là n'a rien à voir avec Java. Je pense que je ne suis pas le seul à raisonner ainsi.

    Bon, à part ça : c'est voulu, d'envoyer ON en majuscules plutôt qu'en minuscules ? Je doute qu'il vérifie, mais sait-on jamais.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  19. #19
    Membre habitué
    Profil pro
    Inscrit en
    Août 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 13
    Par défaut
    Je tenais à remercier tout le monde, j'ai enfin trouvé la solution grâce a votre aide!

    Bon sa résous le le problème du sujet, maintenant je bloque pour voir le pourcentage de progression d'upload car pas pratique avec un MultipartpostMethod xD

    Je vais cogité un peu le sujet mais si quelqu'un à une suggestion

  20. #20
    Membre éprouvé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2010
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 119
    Par défaut
    N'hésite pas à poster ta solution, ça peut intéresser des gens

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Uploader fichier sur megaupload
    Par xoum89 dans le forum Langage
    Réponses: 4
    Dernier message: 12/01/2011, 23h51
  2. [Java] Infos et feedback sur la certification Java SCJP
    Par Gregory3000 dans le forum Certifications
    Réponses: 1
    Dernier message: 19/10/2005, 09h06
  3. [Upload] Multi upload sur un serveur
    Par krak70 dans le forum Langage
    Réponses: 3
    Dernier message: 07/10/2005, 12h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo