Bienvenue visiteur (Inscription |  Connexion)
Qui est en ligne ?
Il y a : 26 utilisateurs en ligne, consultez le détail
Auteur Message
Guimauve2
#0 Message posté le : 21-12-2007 à 01:05:51


Naboo


Forum : Inscrit
Association :
Arrivé(e) le : 22-07-2003
Nombre de messages : 2128
Salut à tous,

Un de mes camarades de classe et moi nous demandons s'il est possible de faire quelque chose du genre, et si oui, comment.

Mon camarade est abonné à un fournisseur d'accès Internet avec lequel il peut aller voir ses quotas de bande-passante via une page Web. Il doit premièrement s'authentifier. Ensuite, il clique sur un lien du genre "Consommation Internet" et les informations s'affichent dans une page HTML standard.

Évidemment, cela doit être fait avec une intervention humaine. Ce que nous aimerions faire, c'est un petit script (en Perl, Python, ou même C#, C, C++) qui permettrait de faire tout ça à la fois.

Nous avions pensé à une algorithme du genre : envoyer via socket une requête POST à la page Web contenant le nom d'utilisateur et le mot de passe (possiblement hardcodés dans le code. Ensuite, il faudrait faire en sorte de garder cet état "connecté", via une session côté client ou quelque chose du genre, pour ensuite obtenir une copie HTML de la page sécurisée pour ensuite l'analyser avec des regex ou quelque chose du genre.

Est-ce que c'est possible ?

Merci,

Guimauve2.

-------------------------------------
GNU/Linux? Il y a moins bien, mais c'est plus cher!

Mon blog (pas très souvent updaté, mais tout de même...) : http://guimauve2.blogspot.com/
tamiel
#1 Message posté le : 21-12-2007 à 12:02:04


Hobbit


Forum : Inscrit
Association :
Arrivé(e) le : 17-10-2003
Nombre de messages : 1070
Oui tu peux

http://docs.python.org/lib/node578.html

On peut faire ça plus bas niveau mais bon autant utiliser les outils dispos.

-------------------------------------
If you don't know, ask manpage !
Azollyx
#2 Message posté le : 21-12-2007 à 12:52:33


Naboo


Forum : Modérateur
Association : Président
Arrivé(e) le : 09-04-2006
Nombre de messages : 2205
Tu peux faire ça en quelques lignes en Perl avec lwp-request. Si tu me le rappelles, je peux t'envoyer des exemples de code.
C'est tout bête :
1. tu crées un user agent
2. tu actives le support des cookies
3. tu fais tes reuqêtes comme si de rien était (ou presque)

Après tout dépend du but du projet : si veux t'amuser avec une API de bas niveau, ça n'est vraiment pas ce qu'il te faut.
Guimauve2
#3 Message posté le : 21-12-2007 à 20:04:07


Naboo


Forum : Inscrit
Association :
Arrivé(e) le : 22-07-2003
Nombre de messages : 2128
Ce n'est pas plutôt le module LWP::UserAgent ?

Car lwp-request semble plutôt une ligne de commande.

-------------------------------------
GNU/Linux? Il y a moins bien, mais c'est plus cher!

Mon blog (pas très souvent updaté, mais tout de même...) : http://guimauve2.blogspot.com/
Azollyx
#4 Message posté le : 21-12-2007 à 21:49:16


Naboo


Forum : Modérateur
Association : Président
Arrivé(e) le : 09-04-2006
Nombre de messages : 2205
lwp-request, c'est une ligne de commande oui. Le tout nous vient de LWP. J'ai mis un script qui l'utilise en ligne tout à l'heure. C'est .
sputnick
#5 Message posté le : 06-01-2008 à 19:27:00


Scarabée


Forum : Inscrit
Association :
Arrivé(e) le : 27-07-2005
Nombre de messages : 138
Salut,

ça tombe bien, c'est mon sujet de prédilection en ce moment

je peux te conseiller plusieurs outils.
Le plus facile c'est curl, en bash, qui gere tres bien tout ça :
liste non exhaustive :
- user agent de son choix ( Croutezilla/5.0 si ça fait zizir )
- Referer ( page d'ou on est censé venir )
- gestion des cokies
- login/passwd tres simples genre curl -u login:passwd
- requetes variées dont les tres interessantes ( ici ) POST et GET
bref, tu l'aura compris, c'est l'outil ultime des bidouilleurs.

Plus bas niveau et plus évolué orienté objet, il a y a le Perl et ses modules bigarrés :
perldoc WWW:Mechanize : cette librairie Perl encapsule LWP::UserAgent pour gérer toute la partie navigation et gestion des formulaires.
C'est le top pour remplir les formulaires avec ses nombreuses sous-routines.
Si tu veux du ( encore ) plus bas niveau, tu peux jouer avec les sockets :
perldoc IO::Socket

Pour vous aider dans la quête des requetes ( wé bon je sais c'est moyen ) il y a les incontournables outils indispensables :
mech-dump
wireshark
le module firefox HTTPHeaders.

Plus une reference en la matiere, c'est cadeau :
http://articles.mongueurs.net/magazines/linuxmag75.html

++,
sputnick


-------------------------------------
BlogLinux
http://sputnick1.wordpress.com