[EX] Navigateur web intégrer, Acceder au forum, Upload files

Partagez vos scripts, et vos applications AutoIt.
Règles du forum
.
Répondre
GaRydelaMer
Niveau 7
Niveau 7
Messages : 450
Enregistré le : mer. 18 mars 2009 22:12
Localisation : Montpellier
Status : Hors ligne

[EX] Navigateur web intégrer, Acceder au forum, Upload files

#1

Message par GaRydelaMer »

Bonjour

J'ai voulu plusieurs fois répondre sur le forum sur l'utilisation de IE.au3.

Donc pour tester les <> codes à créer, j'avais besoin d'un petit espace de test donc je vous propose ce script pour vous aider.
► Afficher le texteVoir le code
Toute idées bienvenues. On peut également mettre ici des exemples.

Chris
Modifié en dernier par GaRydelaMer le mar. 14 avr. 2009 18:48, modifié 2 fois.
GaRydelaMer
Niveau 7
Niveau 7
Messages : 450
Enregistré le : mer. 18 mars 2009 22:12
Localisation : Montpellier
Status : Hors ligne

Re: [EX] Navigateur web intégrer, acceder au forum

#2

Message par GaRydelaMer »

Bonjour,

je viens de tester plusieurs méthodes pour poster 1 ou plusieurs fichiers sur un serveur web, dans ce petit navigateur et j'en ai une qui fonctionne bien.

Comment effectuer ce test ?
1/ installé un serveur web, j'utilise un ultralight, opensource, 0 conf, ZMWS diponible ici http://www.zmws.com/
je le fais tourner sur ma clef USB, avec MySQL et PHP 5
2 créer un page php pour obtenir les fichiers uploader
Créer un dossier upload dans H:\ZMWS\_web.zmwsc\Test\
H:\ZMWS\_web.zmwsc\Test\post_files.php

Code : Tout sélectionner

<?php
echo("\$_POST<pre>" . print_r($_POST, true) . "</pre>");
echo("\$_FILES<pre>" . print_r($_FILES, true) . "</pre><hr />");

if (isset($_FILES)) {
    $target_path = "upload/";
    echo("Upload dir=" . realpath($target_path) . "<br />" . "<br />");
    foreach ($_FILES as $key => $file) {
        echo($key . "<br />");
        echo("<pre>" . print_r($file, true) . "</pre>");
        
        move_uploaded_file($file["tmp_name"], $target_path . basename($file["name"]));
        
        $targeturl = "http://" . $_SERVER['SERVER_NAME'] . "/test/" . $target_path;
        echo("<a href=\"" . $targeturl . basename($file["name"]) . "\">" . basename($file["name"]) . "</a><br />");
    }
}
?>
Ainsi tous les fichiers uploader se retrouvent dans H:\ZMWS\_web.zmwsc\Test\Upload

La partie AutoIt qui envoi une capture d'écran en JPG ainsi que la date et un commentaire.
On fera par la suite une interface graphique pour une utilisation plus souple, mais ici c'est le principe que je voulais exposer.

Code : Tout sélectionner

Func _Post_File()
    Local $URL = _WinHttpCrackUrl("http://localhost/test/post_files.php")
    Local $hOpen = _WinHttpOpen()
    Local $hConnect = _WinHTTPConnect($hOpen, $URL[2], $URL[3])
    Local $hRequest = _WinHttpOpenRequest($hConnect, "POST", $URL[6] & $URL[7], "HTTP/1.1", "http://" & $URL[2])


    Local $form_fields[2][2] = [["Date", _Now()],["commentaire", "Plein de gros test & é a ê î è"]]
    
    _ScreenCapture_Capture("capture.jpg", 100, 100, 400, 500, False)
    Local $form_files[1][2] = [["capture", "capture.jpg"]]
    
    
    Local $FormDatas = Encode_MultiPart_FormData($form_fields, $form_files)
    Local $content_type = 'Content-Type: ' & $FormDatas[0] & @CRLF
    _WinHttpSendRequest($hRequest, $content_type, $WINHTTP_NO_REQUEST_DATA, StringLen($FormDatas[1]))
    _WinHTTPWriteData($hRequest, StringToBinary($FormDatas[1]), 1)

    _WinHttpReceiveResponse($hRequest)
    Local $html = ""
    If _WinHttpQueryDataAvailable($hRequest) Then
        Local $temp
        While 1
            $temp = _WinHttpReadData($hRequest)
            If $temp = "" Then ExitLoop
            $html &= $temp
        WEnd
        $temp = ""
    EndIf
    ConsoleWrite(_WinHttpQueryHeaders($hRequest) & @LF)
    ConsoleWrite($html & @LF)
    ;_IEDocWriteHTML($oIE, $html)

    _WinHttpCloseHandle($hRequest)
    _WinHttpCloseHandle($hConnect)
    _WinHttpCloseHandle($hOpen)
EndFunc   ;==>_Post_File

source forum anglais:
http://www.autoitscript.com/forum/index ... hl=winhttp
Après avoir parcouru le forum j'ai ajouter la fonction : Encode_MultiPart_FormData() dans le fichier WinHTTP.au3.
Fichiers joints
WinHTTPConstants.au3
(20.6 Kio) Téléchargé 390 fois
WinHTTP.au3
(58.05 Kio) Téléchargé 414 fois
GaRydelaMer
Niveau 7
Niveau 7
Messages : 450
Enregistré le : mer. 18 mars 2009 22:12
Localisation : Montpellier
Status : Hors ligne

Re: [EX] Navigateur web intégrer, Acceder au forum, Upload files

#3

Message par GaRydelaMer »

Bonjour

Une autre version, pour envoyer une capture d'écran sur le site de dl.free.fr.

On pourra trés bien imaginer automatiser l'envoie d'une capture non pas de l'écran mais de la WebCam toutes les 5 mn et faire de la télésurveillance ;)

J'ai qd même un truc qui me chiffone, et je trouve pas l'erreur.
A la fin de l'envoie Free me donne une adresse pour supprimer le fichier sur leur serveur, qd je clique dans la fenêtre sur ce lien ca plante AutoIt, par contre copier l'adresse du lien et utiliser le menu "page/aller a une adresse" et que j'y colle le lien ca marche.

Idée bienvenue !!
► Afficher le texteLe code
berthozero
Niveau 2
Niveau 2
Messages : 20
Enregistré le : sam. 16 janv. 2010 22:09
Status : Hors ligne

Re: [EX] Navigateur web intégrer, Acceder au forum, Upload files

#4

Message par berthozero »

bonjour, puis-je savoir pourquoi il faut attendre au démarrage du navigateur ?
Rere78
Niveau 1
Niveau 1
Messages : 12
Enregistré le : lun. 05 avr. 2010 14:05
Status : Hors ligne

Re: [EX] Navigateur web intégrer, Acceder au forum, Upload files

#5

Message par Rere78 »

Bonjour,

J'ai tester votre application et elle fonctionne formidablement.

Merci à vous.
Dans le cadre de mon projet scolaire ( site internet en HTTPS ) j'aurais aimer utiliser la GUI avec le navigateur intégrer cependant, il n'arrive pas a afficher la page HTTPS , il bloque sur l'acceptation du certificat...

Avez-vous une solution ?

Merci par avance
Avatar du membre
DJSIR
Niveau 8
Niveau 8
Messages : 583
Enregistré le : mar. 01 juil. 2008 15:16
Localisation : 76, Le HAVRE (in the DJSIR World)
Status : Hors ligne

Re: [EX] Navigateur web intégrer, Acceder au forum, Upload files

#6

Message par DJSIR »

Rere78 a écrit :mon projet scolaire
Si c'est un navigateur qu'il vous faut, tournez vous vers iSafari !
$DJSIR = "1000110001010101011010000101001101001101001010101011010"
(ne décodez pas le binaire, ça veux rien dire)

[Func] ProgressBar, aller plus loin
Rere78
Niveau 1
Niveau 1
Messages : 12
Enregistré le : lun. 05 avr. 2010 14:05
Status : Hors ligne

Re: [EX] Navigateur web intégrer, Acceder au forum, Upload files

#7

Message par Rere78 »

Bonjour,

Je ne critique en aucun cas , le travail réalisé qui est super.
Certes, un navigateur fait l'affaire cependant, j'aurais aimer utiliser cette petite GUI pour afficher les 6 petites pages du site. Je cherchais juste un moyen de passer ce HTTS.

Merci de pour votre réponse et désolé du dérangement alors.

Bonne Soirée
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: [EX] Navigateur web intégrer, Acceder au forum, Upload files

#8

Message par timmalos »

Hmm J'avais deja eu de gros problèmes avec https.

Le problème, c'est qu'on utilise une librairie _IE qui est en fait basée sur IE6, (et oui encore lui) dès que l'on utilise pas le navigateur installé (IE8 j'espère) en mode visible.

Quand on utilise le navigateur integré en passant par les objets donc, j'ai jamais reussi a passer un site protegé par https avec un certificat non validé par une autorité compétente( pour ne pas donner de nom: Verisign) (normalement il suffit de cliquer : Oui, aller sur ce site quand meme) mais ca se revele impossible.


Bref, je vois 2 solutions.
Soit, et alors vous ne pourrez plus utiliser le code de Gary, vous passez avec la bibliotheque _FF et ca risque d'etre plus dur car rien n'est en francais et il existe moins d'exemples, moins de personnes qui connaissent, etc...
L'avantage, c'est que vous n'aurez aucun problème de compabilité. L'inconveniant, c'est que ca ne marche que si FF est installé, et si vous comptez partager votre application elle risque d'etre incompatible avec pas mal de gens. (et en plus il faut MozRepl d'installé) Bref solution envisageable si le programme est seulement pour vous.

2eme solution, qui n'en est pas vraiment une, vous ouvrez iexplore.exe vous allez sur le site et dans les parametres vous vous "démerdez" (ici c'est le mot tellement c'est chiant) a lui faire accepter le certificat sans afficher de message, et alors votre script passera comme sur des roulettes.

3eme solution probable : Cherchez sur le forum anglais, a mon avis certains ont trouvé mieux que moi mais la pas le tps d'aller voir ;)
Alexward
Niveau 4
Niveau 4
Messages : 76
Enregistré le : jeu. 27 mai 2010 01:24
Status : Hors ligne

Re: [EX] Navigateur web intégrer, Acceder au forum, Upload files

#9

Message par Alexward »

Mais si j'ai IE8 est-ce qu'il utilise les Library IE 6 ? :O

Sinon sa saurait vraiment bien que vous ajoutiez des Onglets au Navigateur plus haut :D Je suis sur que sa aiderait beaucoup de personne.
GaRydelaMer
Niveau 7
Niveau 7
Messages : 450
Enregistré le : mer. 18 mars 2009 22:12
Localisation : Montpellier
Status : Hors ligne

Re: [EX] Navigateur web intégrer, Acceder au forum, Upload files

#10

Message par GaRydelaMer »

Bonsoir

j'ai pas retoucher à cette source qui est la juste pour démontrer comment utiliser Internet avec AutoIt.

Maintenant, je préfère utiliser FireFox pour mon surf.

Ceci dans le cadre d'une application , afficher une page web dans 1 GUI peut être utile.

Consulter une aide, mettre à jour des données sur un intranet etc...
Alexward
Niveau 4
Niveau 4
Messages : 76
Enregistré le : jeu. 27 mai 2010 01:24
Status : Hors ligne

Re: [EX] Navigateur web intégrer, Acceder au forum, Upload files

#11

Message par Alexward »

Oui elle ma été très utile pour créer un Navigateur Web autrefois. Mais j'aimerais y ajouter des Onglets et il y a très peu de source sur sa :(

Donc c'est pour sa que je disais que sa saurait vraiment bien que quelqu'un y ajoute des onglets ce qui pourrait être très utiles à tout le monde :D
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: [EX] Navigateur web intégrer, Acceder au forum, Upload files

#12

Message par timmalos »

Alexward a écrit :Donc c'est pour sa que je disais que sa saurait vraiment bien que quelqu'un y ajoute des onglets ce qui pourrait être très utiles à tout le monde :D
Mouai, ca serait plus très utile pour vous (Si vous voyez ce que je veux dire, ja******) Vous avez déjà demandé a de multiples reprises la meme choses, essayez par vous meme non d'une pipe.

J'ai déjà posté/vu des exemples d'onglets, il suffit de créer autant d'objets internet (ObjCreate) que d'onglet, puis on se balade avec IE.au3 comme avant

Concernant votre demande précédente, on utilise ce qu'on appelle une API externe, ici celle de Internet explorer, et il se trouve que oui les 90% des fonctions sont les mêmes que dans IE6, ce qui est normal car après cette version il n'y a que le superflu et la securité qui changent, la base elle ne change pas.
Répondre