efinf:blc2016:regex

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
efinf:blc2016:regex [2016/11/17 14:27]
Ivo Blöchliger
efinf:blc2016:regex [2016/11/29 14:24] (current)
Ivo Blöchliger
Line 54: Line 54:
 ==== Nesa-Pilot ==== ==== Nesa-Pilot ====
   * Installieren Sie den Chrome (sudo apt-get install chromium-browser)   * Installieren Sie den Chrome (sudo apt-get install chromium-browser)
-  * Drücken Sie F12, um die Debug-Suite zu starten und aktivieren Sie den Tab "Network"+  * In Chrome, drücken Sie F12, um die Debug-Suite zu starten und aktivieren Sie den Tab "Network"
   * Gehen Sie auf die Startseite von Nesa: https://ksbg.nesa-sg.ch/loginto.php?mode=0&lang= (oder laden Sie die Seite neu)   * Gehen Sie auf die Startseite von Nesa: https://ksbg.nesa-sg.ch/loginto.php?mode=0&lang= (oder laden Sie die Seite neu)
-  * Rechts-Klick auf ersten Netzwerkzugriff: "copy as cURL"  * Die curl-Kommandozeile in eine Datei speichern (z.B. startseite.curl)+  * Rechts-Klick auf ersten Netzwerkzugriff (mit Code 200): "copy as cURL"  * Die curl-Kommandozeile in eine Datei speichern (z.B. startseite.curl)
  
 Das curl-Kommando muss jetzt noch ein bisschen angepasst werden, damit die Cookies gespeichert und wiederverwendet werden: Das curl-Kommando muss jetzt noch ein bisschen angepasst werden, damit die Cookies gespeichert und wiederverwendet werden:
Line 82: Line 82:
 logincurl = File.read("login.curl") logincurl = File.read("login.curl")
 puts logincurl puts logincurl
-loginseite.gsub!(.....)  # FIXME +logincurl.gsub!(.....)  # FIXME 
-puts loginseite+puts logincurl  # ACHTUNG: Enthält ihr Passwort (eventuell durch regex rausfiltern).
  
 # Erste Seite nach login herunterladen # Erste Seite nach login herunterladen
 nesaseite = `#{loginseite}` nesaseite = `#{loginseite}`
 +</code>
 +
 +Zusammengefasst als Funktion (liefert erste Seite nach Login):
 +<code ruby>
 +def getStartPage
 +  `rm nesa-cookies.txt`
 +  startseite = `bash startseite.curl`.force_encoding("ISO-8859-1").encode("UTF-8")
 +  
 +  # input type="hidden" value="a68ae62b0e4ffd730c315e37f50d0d5d" name="loginhash"
 +  
 +  loginhash=startseite.scan(/value="([0-9a-f]+)"\s+name="loginhash"/)[0][0]
 +  
 +  curllogin=File.read("login.curl")
 +  curllogin.gsub!(/loginhash=([^']+)'/,"loginhash=#{loginhash}'")
 +  `#{curllogin}`.force_encoding("ISO-8859-1").encode("UTF-8")
 +end
 +
 </code> </code>
  
  • efinf/blc2016/regex.1479389250.txt.gz
  • Last modified: 2016/11/17 14:27
  • by Ivo Blöchliger