Salut,
Ce fut laborieux
Maintenant, je ne comprends pas trop comment vous faites vos exercices mais, il faut déjà commencer par lire les différentes questions, regarder comment y retrouver dans les données les différentes informations qui permettront de répondre aux différentes questions et commencer à imaginer comment vous allez bien pouvoir coder çà.
note: la programmation "produit" des lignes de code qui vont faire le boulot mais le boulot du programmeur est d'imaginer comment il va bien pouvoir découper le problème en sous-problème et composer les solutions à ces sous problèmes pour fabriquer le programme.
Pour çà on peut commencer par récupérer les 10 premières lignes du fichier et regarder à quoi elles ressemblent:
1 2 3 4 5 6 7 8 9 10 11
| 141.243.1.172 [29:23:53:25] "GET /Software.html HTTP/1.0" 200 1497
query2.lycos.cs.cmu.edu [29:23:53:36] "GET /Consumer.html HTTP/1.0" 200 1325
tanuki.twics.com [29:23:53:53] "GET /News.html HTTP/1.0" 200 1014
wpbfl2-45.gate.net [29:23:54:15] "GET / HTTP/1.0" 200 4889
wpbfl2-45.gate.net [29:23:54:16] "GET /icons/circle_logo_small.gif HTTP/1.0" 200 2624
wpbfl2-45.gate.net [29:23:54:18] "GET /logos/small_gopher.gif HTTP/1.0" 200 935
140.112.68.165 [29:23:54:19] "GET /logos/us-flag.gif HTTP/1.0" 200 2788
wpbfl2-45.gate.net [29:23:54:19] "GET /logos/small_ftp.gif HTTP/1.0" 200 124
wpbfl2-45.gate.net [29:23:54:19] "GET /icons/book.gif HTTP/1.0" 200 156
wpbfl2-45.gate.net [29:23:54:19] "GET /logos/us-flag.gif HTTP/1.0" 200 2788
tanuki.twics.com [29:23:54:19] "GET /docs/OSWRCRA/general/hotline HTTP/1.0" 302 - |
Si l'énoncé raconte:
Nous disposons des infos suivantes concernant cette demande: l'heure précise, le code retourné par le serveur site à cette demande (404 si la ressource demandée n'existe pas, 200 indique que la demande a été bien traitée) et la taille de la réponse fournie par le serveur (donc la taille de la ressource quand le code retourné est 200)...
Il va falloir plus ou moins découper ces lignes pour y récupérer les différentes informations i.e.
à partir de (par exemple):
wpbfl2-45.gate.net [29:23:54:19] "GET /logos/us-flag.gif HTTP/1.0" 200 2788
récupérer:
- host: wpbfl2-45.gate.net
- time: 29:23:54:19
- request: GET /logos/us-flag.gif HTTP/1.0
- reply code: 200
- reply size: 2788
sous une forme ou une autre... car trouver "200" dans la ligne à n'importe quelle position, c'est pas pareil que tester si "reply code"/réponse == "200".
Envoyé par
Effigie
Pour cette question, j'ai fait un script pour chaque code (200, 400, 404, etc.). Mais à y regarder de près, il me semble qu'il faut faire un seul script pour tous ces codes… Et là, je n'ai pas su comment m'y prendre.
Une solution est de passer par un dictionnaire où les clefs seront les codes et la valeur le nombre d’occurrences. Mais le but de votre exercice est de montrer que vous avez "acquis" les concepts présentés dans votre cours. Donc si vous ne connaissez pas les dictionnaires, il va falloir faire autrement (et il n'a que vous pour savoir ce que vous pouvez utiliser).
- W
Partager