Page 1 sur 1

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

Posté : dim. 12 avr. 2009 15:57
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

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

Posté : mar. 14 avr. 2009 18:38
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.

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

Posté : jeu. 16 avr. 2009 13:51
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

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

Posté : ven. 29 janv. 2010 22:10
par berthozero
bonjour, puis-je savoir pourquoi il faut attendre au démarrage du navigateur ?

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

Posté : mer. 07 avr. 2010 23:11
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

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

Posté : mer. 07 avr. 2010 23:13
par DJSIR
Rere78 a écrit :mon projet scolaire
Si c'est un navigateur qu'il vous faut, tournez vous vers iSafari !

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

Posté : mer. 07 avr. 2010 23:18
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

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

Posté : jeu. 08 avr. 2010 08:45
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 ;)

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

Posté : mar. 29 juin 2010 17:19
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.

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

Posté : mar. 29 juin 2010 20:42
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...

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

Posté : mar. 29 juin 2010 21:09
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

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

Posté : mar. 29 juin 2010 23:00
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.