FORUM Tom's Hardware » Programmation » Autre » [MS DOS] & CygWIN & Wget
 

[MS DOS] & CygWIN & Wget

Il y a 388 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici
Ajouter une réponse



 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : [MS DOS] & CygWIN & Wget
 
Plus d'informations

Bonjour,
Je cherche le moyen de crée un .bat qui demande une ouverture d'une page web en boucle, qu'il l'a ferme une fois ouverte et que si possible le faire (le travail) en arriére plan.
Je m'explique :
1. on lance le fichier .bat
2. le fichier ouvre une page web (en arriére plan si possible)
3. qu'il ferme la page web en suite
4. qu'il refasse ça en boucle
Le problème c'est que je ne sais pas faire et je voudrais savoir si c'est réalisable...
Voili merci :pt1cable:


Message édité par piranha862 0 le 24-02-2006 à 19:40:51

zeb
Profil : Modérateur libre
Plus d'informations

Ouvrir une page WEB sous DOS :

Code :
  1. start www.presence-pc.com


Fermer le navigateur sous DOS :

Code :
  1. ?


Boucler indéfiniment sous DOS :

Code :
  1. :DEBUT
  2.     .... traitement ....
  3. GOTO DEBUT


Tricher en faisant passer tel site pour intéressant en faisant plein d'accès dessus --> C'est nul

Plus d'informations

J'ai essayer ça marche pour ouvrir la page, mais il ne la ferme pas et lorsque que je la ferme manuellement, il boucle bien mais ne reouvre pas la page.
Non c'est pas pour faire passer un site intéressant ^^

edit: non finalement ça marche assez bien :-), juste qu'il ne ferme pas la page mais je pense que si il la ferme il va en reouvrir une ça va saturer le pc. Il n'y a pas un autre moyen sans faire intervenir internet explorer ?


Message édité par piranha862 0 le 24-02-2006 à 15:15:13
zeb
Profil : Modérateur libre
Plus d'informations

Concernant la partie "fermer le navigateur"

Sous DOS, je ne vois pas de solution. Pour s'avoir si c'est possible demander au spécialiste du batch : Batchy :D :D: D

Sinon, tu peux peut-être utiliser autre chose que le DOS. Un petit programme compilé (ou pas) en VB, C/C++, Delphi, et qui appelle ShellExecute ( ) pour lancer l'ouverture de la page et qui en profite pour en récupérer le numéro de processs. Puis un CloseWindow () sur ce numéro et hop, y'a plus de navigateur.

Autrement, peux-tu utiliser l'environnement CygWIN ?
Alors c'est de la balle :

Code :
  1. while [ true ] ; do
  2.     "C:\Program Files\Internet Explorer\IEXPLORE.EXE" "www.presence-pc.com" &
  3.     sleep 10
  4.     kill -9 %`jobs | sed -n "s/\(\[\)\([0-9]*\)\(].*Running.*IEXPLORE\.EXE.*\)/\2/p" | head -1`
  5.     echo ""
  6. done



Concernant " Il n'y a pas un autre moyen sans faire intervenir internet explorer ?"

Il va falloir préciser ta demande.
Mais qu'est-ce que tu veux donc faire avec un truc pareil ?!

Message cité 1 fois
Message édité par zeb le 24-02-2006 à 15:49:57
Plus d'informations

Je vais me renseigner pour l'environnemnt CygWIN je ne connais pas, mais a mon avis je crois c'est mieux que les fichier.bat ^^
"Pour un autre moyen sans faire parvenir internet explorer", c'est juste que si il peut faire travailler une page web en arriére plan, mais aussi j'ai peur qu'elle ce charge trop vite (qu'il la recharge trop vite) ou alors en ouvrir plusieur a la fois.

Le "logiciel" que je veux faire n'a en lui même pas d'interet propre je veux juste faire un petit truc qu'il ouvre page web a répétition. Non ce n'est pas pour faire monté la popularité d'un site ;-)

zeb
Profil : Modérateur libre
Plus d'informations

Se charge trop vite --> He He, j'y avais pensé. C'est le sleep 10 (fais dodo pendant 10 secondes)
Faire travailler un site --> Il faut juste y accéder ? Un ptit wget alors ! (cf. unxutils)


Message édité par zeb le 24-02-2006 à 16:41:47
zeb
Profil : Modérateur libre
Plus d'informations

CygWIN, c'est un environnement UNIX-like pour Windows. Miam. CygWIN c'est bon mangez-en !

Plus d'informations

J'ai installé cygWIN mais il ne veux pas ce lancer - il me dit :
Ce fichier est utilisé par une autre application, pourtant j'ai rebooté rien 'y fais :-|

Plus d'informations

Aussi une petite question il peut envoyer des requetes de maniére anonyme ?

zeb
Profil : Modérateur libre
Plus d'informations

Qu'appelles-tu "requetes de maniére anonyme" ?
CygWIN est un environnement d'exploitation, pas un requêteur !

Sauf si tu parles de wget. --> RTFM :o, wget de unxutils est fourni avec un fichier d'aide au format WINDOWS. Tu peux en modifier les chaînes
d'identification avec l'option -user-agent.

pourquoi faire cent fois la même chose ?
Plus d'informations

a écrit :

Sous DOS, je ne vois pas de solution. Pour s'avoir si c'est possible demander au spécialiste du batch : Batchy :D :D: D

je suis capable de dépanner des batch pour MS-DOS (ou win98 à la limite), mais je suis dépassé par les dernières windowseries ...

[méthode barbare]sinon il n'y a pas moyen de faire quelque chose avec un telnet ?[/méthode barbare]


zeb
Profil : Modérateur libre
Plus d'informations

+1 :D Bonne idée le telnet

Plus d'informations

J'ai reussi pour cygWIN mais il kill pas la page. Pour la méthode barbare je suis preneur, mais je suis pas sur ça marche avec telnet. Sinom il n'y a pas un moyen pour compiler un petit programme comme celui-là ? Pour les requetes anonyme je veux dire que lorsque le navigateur se connecte l'adresse ip n'est pas diffusé :p
Sur MS-DOS le sleep ne fonctionne pas.

zeb
Profil : Modérateur libre
Plus d'informations

Quelle adresse ? Celle du client ! C'est bien sûr obligatoire, sinon comment le serveur saurait-il te renvoyer la page ?

A moins de spoofer tes requêtes avec une fausse adresse. Mais là, ce n'est plus dans la cat. programmation mais dans la cat. piratage --> le spoofing c'est mal.

Le kill et le sleep ne fonctionnent pas sous DOS ? Merci je sais.
Es-tu sûr d'exécuter le script dans une session CygWIN.

Batchy> Je crains que telnet ne puisse pas être utilisé autrement qu'en mode interactif sous DOS. Sinon, ça reste une bonne idée pour remplacer IEXPLORE dans CygWIN.

Bien sûr qu'on peut compiler une petite appli. Je t'ai déjà donné une piste sérieuse avec ShellExecute() et CloseWindow().

Plus d'informations

Oui je suis sur d'executer le script dans une sesion CygWIN; a quoi sert "sed -n "s/\(\[\)\(" cette partie ?
Je peut utiliser qu'elle compilateur pour faire une petite appli ?
Pour le spoofing on m'a jamais dit c'était mal :??: Ce n'est pas mettre aussi une fausse adresse c'est d'en mettre aucune, je sais que le serveur ne sera pas où renvoyer la page, donc une redirection...je ne sais pas :??:

Plus d'informations

Si cela dérange ne parlons donc pas de ce sujet, mais pourtant à ma connaisance il existe des logiciels qui font ce genre de manipulation et qui sont vendu dans le commerce et en toute légalité, je ne vois vraimment pas le mal...enfin restons au sujet initial

zeb
Profil : Modérateur libre
Plus d'informations

Le & à la fin d'une commande la fait passer en arrière plan au sens UNIX.
On récupère le numéro du processus (au sens jobs) grâce à la commande jobs :

$ jobs
[1]+ Running "C:\Program Files\Internet Explorer\IEXPLORE.EXE" "www.presence-pc.com" &

Pour référencer cette commande, il faut utiliser %1.

kill -9 %`cmd` --- Les quotes à l'envers récupèrent
| | | le résultat de cmd
| | -------- Le % indique de considérer le processus
| | de numéro comme indiqué par la commande jobs
| ----------- -9 Ne pas juste tuer mais bien massacrer !!!
--------------- Tuer le processus

Voici cmd :

jobs | sed -n "s/\(\[\)\([0-9]*\)\(].*Running.*IEXPLORE\.EXE.*\)/\2/p" | head -1
| |
| juste une seule ligne au cas où --
--- editeur non interactif

sed -n "s/expr/expr/p"
| | |
| | -- Commande print de sed
| -------------- Commande substitute de sed
----------------- N'afficher que les lignes trouvées

Le \ protège les caractères spéciaux.
Le . c'est n'importe caractère.
Le * c'est un nombre quelconque de ce qui précède.
Les () définissent des morceaux.
Je la refais sans les \ :

([)([0-9]*)(].*Running.*IEXPLORE.EXE.*\)


On découpe donc la ligne en trois morceaux
Le premier c'est le [
le second ce sont les chiffres
le troisième c'est tout ce qui suit le crochet ] à condition que l'on ait dans l'ordre : un crochet, n'importe quoi, le mot Running, n'importe quoi, le mot IEXPLORE.EXE, n'importe quoi.

L'option -n empèche l'affichage. La commande p impose l'affichage des lignes contenant nos trois morceaux.
La commande s remplace les trois morceaux par le morceau 2 (\2).

Tout ça pour récupérer le numéro de la commande au sens de jobs. Dans l'exemple c'est 1.

On fait donc

kill -9 %1




Si tu cherches à appronfondir la question, google est ton ami : cherche regex pour expression régulière.


Message édité par zeb le 24-02-2006 à 19:00:00
zeb
Profil : Modérateur libre
Plus d'informations

( plus facile à faire qu'à expliquer, les regex ! )

pourquoi faire cent fois la même chose ?
Plus d'informations

a écrit :

Pour le spoofing on m'a jamais dit c'était mal :??: Ce n'est pas mettre aussi une fausse adresse c'est d'en mettre aucune, je sais que le serveur ne sera pas où renvoyer la page, donc une redirection...je ne sais pas :??:

c'est pas aussi simple que cela, avant même de dire que tu veut telle page, le serveur te demande de renvoyer un identifiant aléatoire qu'il t'a envoyé ...

un des moyens (qui est du spoofing) est de pirater un autre ordinateur pour qu'il se connecte au site à ta place, par contre ça c'est tout sauf légal ...

Profil : Pointeur
Plus d'informations

wget et basta :o

Profil : Pointeur
Plus d'informations