Created directories for the chapters
This commit is contained in:
16
kapitel12/sidan_206_ex1.py
Normal file
16
kapitel12/sidan_206_ex1.py
Normal file
@@ -0,0 +1,16 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import urllib.request
|
||||
|
||||
# Vi börjar med att skapa ett objekt
|
||||
url = urllib.request.urlopen\
|
||||
("http://jackbenny.se/logg.txt")
|
||||
|
||||
# Nu läser vi in loggfilen
|
||||
loggfil = url.read()
|
||||
|
||||
# Därefter måste vi omkoda byte till en sträng för att
|
||||
# t.ex. radbrytningar ska fungera korrekt
|
||||
loggfilUtf = loggfil.decode("utf-8")
|
||||
|
||||
print (loggfilUtf)
|
5
kapitel12/sidan_208_ex1.py
Normal file
5
kapitel12/sidan_208_ex1.py
Normal file
@@ -0,0 +1,5 @@
|
||||
# Dela upp strängen i enstaka rader istället
|
||||
rader = loggfilUtf.splitlines()
|
||||
|
||||
# Testa att skriva ut tredje raden
|
||||
print (rader[2])
|
3
kapitel12/sidan_209_ex1.py
Normal file
3
kapitel12/sidan_209_ex1.py
Normal file
@@ -0,0 +1,3 @@
|
||||
for rad in rader:
|
||||
if "Invalid user" in rad: # Rader som har Invalid user
|
||||
print (rad) # Skriv ut rader som har 'Invalid user'
|
4
kapitel12/sidan_209_ex2.py
Normal file
4
kapitel12/sidan_209_ex2.py
Normal file
@@ -0,0 +1,4 @@
|
||||
for rad in rader:
|
||||
if "Invalid user" not in rad: # INTE har söksträngen
|
||||
continue
|
||||
print (rad) # Skriv ut rader som har 'Invalid user'
|
10
kapitel12/sidan_210_ex1.py
Normal file
10
kapitel12/sidan_210_ex1.py
Normal file
@@ -0,0 +1,10 @@
|
||||
raknare = 0 # Räknare till antalet försök
|
||||
ipLista = list() # I denna sparar vi IP-adresser
|
||||
for rad in rader:
|
||||
if "Invalid user" not in rad: # INTE har söksträngen
|
||||
continue # hoppas över.
|
||||
raknare = raknare + 1 # Addera 1 till antalet försök
|
||||
ord = rad.split() # Dela upp raden i enskilda ord
|
||||
ip = ord[9] # Fält 9 är IP-adressen
|
||||
if ip not in ipLista: # Om inte adressen redan finns,
|
||||
ipLista.append(ip) # så lägg till den
|
34
kapitel12/sidan_210_ex2.py
Normal file
34
kapitel12/sidan_210_ex2.py
Normal file
@@ -0,0 +1,34 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import urllib.request
|
||||
|
||||
# Vi börjar med att skapa ett objekt
|
||||
url = urllib.request.urlopen\
|
||||
("http://jackbenny.se/logg.txt")
|
||||
|
||||
# Nu läser vi in loggfilen
|
||||
loggfil = url.read()
|
||||
|
||||
# Därefter måste vi omkoda byte till en sträng för att
|
||||
# t.ex. radbrytningar ska fungera korrekt
|
||||
loggfilUtf = loggfil.decode("utf-8")
|
||||
|
||||
# Dela upp strängen i enstaka rader istället
|
||||
rader = loggfilUtf.splitlines()
|
||||
|
||||
raknare = 0 # Räknare till antalet försök
|
||||
ipLista = list() # I denna sparar vi IP-adresser
|
||||
for rad in rader:
|
||||
if "Invalid user" not in rad: # INTE har söksträngen
|
||||
continue # hoppas över.
|
||||
raknare = raknare + 1 # Addera 1 till antalet försök
|
||||
ord = rad.split() # Dela upp raden i enskilda ord
|
||||
ip = ord[9] # Fält 9 är IP-adressen
|
||||
if ip not in ipLista: # Om inte adressen redan finns,
|
||||
ipLista.append(ip) # så lägg till den
|
||||
|
||||
# Skriv ut resultatet på skärmen
|
||||
print ("\nTotalt antal försök:", raknare)
|
||||
print ("\nLista över IP-adresser")
|
||||
for adress in ipLista:
|
||||
print (adress)
|
7
kapitel12/sidan_212_ex1.py
Normal file
7
kapitel12/sidan_212_ex1.py
Normal file
@@ -0,0 +1,7 @@
|
||||
# Be användaren om en adress
|
||||
adress = input("Ange adress till loggfilen: ")
|
||||
|
||||
# Om adressen är kortare än ett tecken angav
|
||||
# användaren ingen adress, så vi kör på default
|
||||
if (len(adress) < 1):
|
||||
adress = "http://jackbenny.se/logg.txt"
|
12
kapitel12/sidan_213_ex1.py
Normal file
12
kapitel12/sidan_213_ex1.py
Normal file
@@ -0,0 +1,12 @@
|
||||
# Try-block för att testa om adressen finns och är
|
||||
# giltig.
|
||||
try:
|
||||
# Vi börjar med att skapa ett objekt
|
||||
url = urllib.request.urlopen\
|
||||
(adress)
|
||||
except ValueError:
|
||||
quit("Ogiltigt adressformat")
|
||||
except urllib.error.URLError:
|
||||
quit("Fel eller okänd adress")
|
||||
except urllib.error.HTTPError:
|
||||
quit("Fel adress, det finns inget där")
|
3
kapitel12/sidan_214_ex1.py
Normal file
3
kapitel12/sidan_214_ex1.py
Normal file
@@ -0,0 +1,3 @@
|
||||
# Testa ifall det är loggfil, och om inte, avsluta.
|
||||
if "]:" not in loggfilUtf:
|
||||
quit("Det där verkar inte vara en loggfil")
|
55
kapitel12/sidan_214_ex2.py
Normal file
55
kapitel12/sidan_214_ex2.py
Normal file
@@ -0,0 +1,55 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import urllib.request
|
||||
|
||||
# Be användaren om en adress
|
||||
adress = input("Ange adress till loggfilen: ")
|
||||
|
||||
# Om adressen är kortare än ett tecken angav
|
||||
# användaren ingen adress, så vi kör på default
|
||||
if (len(adress) < 1):
|
||||
adress = "http://jackbenny.se/logg.txt"
|
||||
|
||||
# Try-block för att testa om adressen finns och är
|
||||
# giltig.
|
||||
try:
|
||||
# Vi börjar med att skapa ett objekt
|
||||
url = urllib.request.urlopen\
|
||||
(adress)
|
||||
except ValueError:
|
||||
quit("Ogiltigt adressformat")
|
||||
except urllib.error.URLError:
|
||||
quit("Fel eller okänd adress")
|
||||
except urllib.error.HTTPError:
|
||||
quit("Fel adress, det finns inget där")
|
||||
|
||||
# Nu läser vi in loggfilen
|
||||
loggfil = url.read()
|
||||
|
||||
# Därefter måste vi omkoda byte till en sträng för att
|
||||
# t.ex. radbrytningar ska fungera korrekt
|
||||
loggfilUtf = loggfil.decode("utf-8")
|
||||
|
||||
# Testa ifall det är loggfil och om inte, avsluta.
|
||||
if "]:" not in loggfilUtf:
|
||||
quit("Det där verkar inte vara en loggfil")
|
||||
|
||||
# Dela upp strängen i enstaka rader istället
|
||||
rader = loggfilUtf.splitlines()
|
||||
|
||||
raknare = 0 # Räknare till antalet försök
|
||||
ipLista = list() # I denna sparar vi IP-adresser
|
||||
for rad in rader:
|
||||
if "Invalid user" not in rad: # INTE har söksträngen
|
||||
continue # hoppas över.
|
||||
raknare = raknare + 1 # Addera 1 till antalet försök
|
||||
ord = rad.split() # Dela upp raden i enskilda ord
|
||||
ip = ord[9] # Fält 9 är IP-adressen
|
||||
if ip not in ipLista: # Om inte adressen redan finns,
|
||||
ipLista.append(ip) # så lägg till den
|
||||
|
||||
# Skriv ut resultatet på skärmen
|
||||
print ("\nTotalt antal försök:", raknare)
|
||||
print ("\nLista över IP-adresser")
|
||||
for adress in ipLista:
|
||||
print (adress)
|
Reference in New Issue
Block a user