homeUnix & Internet Unix & Shell-Programmierung: Einfache Beispiele Prof. Dr. Uwe Schmidt FH Wedel

Einfache Beispiele

weiter

weiter

HTML Verarbeitung

Dokumentation
Eine Seite für das aktuelle Datum
 
#!/usr/bin/env ruby
 
def htmlContents(page)
  %Q{Content-Typetext/html
Content-Length#{page.length}
 
#{page}
}
end
 
def datePage
  %Q{<html>
  <head>
    <title>Das heutige Datum</title>
  </head>
  <body>
    Heute ist der <b>#{Time.now.asctime}</b>
  </body>
</html>
}
end
 
$stdout.print(htmlContents(datePage))
Die gleiche Information, nur besser aufbereitet
 
#!/usr/bin/env ruby
 
def htmlContents(page)
  %Q{Content-Typetext/html
Content-Length#{page.length}
 
#{page}
}
end
 
def now
   Time.now.strftime("%d.%m.%Y")
end
 
def datePage
  %Q{<html>
  <head>
    <title>Das heutige Datum</title>
  </head>
  <body>
    Heute ist der <b>#{now}</b>
  </body>
</html>
}
end
 
$stdout.print(htmlContents(datePage))
Der Spruch des Tages
 
#!/usr/bin/env ruby
 
def htmlContents(page)
  %Q{Content-Typetext/html
Content-Length#{page.length}
 
#{page}
}
end
 
def now
   Time.now.strftime("%d.%m.%Y")
end
 
def fortune
  %x{/usr/bin/fortune}
end
 
def fortunePage
  %Q{<html>
  <head>
    <title>The Message of the Day</title>
  </head>
  <body>
    <b>The message of the day (#{now}is:</b>
<pre>#{fortune}</pre>
  </body>
</html>
}
end
 
$stdout.print(htmlContents(fortunePage))
Die CGI Umgebung
 
#!/usr/bin/env ruby
 
require "cgi"
$c = CGI.new()
 
def htmlContents(page)
  %Q{Content-Typetext/html
Content-Length#{page.length}
 
#{page}
}
end
 
def envPart
  res = ""
  ENV.keys.sort.each do |k|
    v = ENV[k]
    res << "<tr><th>"  << k.to_s \
        << "</th><td>" << CGI.escapeHTML(v.to_s) \
        << "</td></tr>"
  end
  res = "<table>" + res + "</table>"
  res
end
 
def cgiParams
  res = ""
  $c.params.keys.each do |k|
    v = $c.params[k]
    res << "<tr><th>" << k.to_s \
        << "</th><td>" \
        << CGI.escapeHTML(v.to_s) \
        << "</td></tr>"
  end
  res = "<table>" + res + "</table>"
  res
end
 
def testPage
  res = %Q{<html>
  <head>
    <title>The CGI Components</title>
    <style>
th {text-alignleft}
    </style>
  </head>
  <body>
    <h1>The Environment</h1>
#{envPart}
    <h1>The CGI params</h1>
#{cgiParams}
  </body>
</html>
}
  CGI.pretty(res)
end
 
$stdout.print(htmlContents(testPage))
Dateien einlesen
getContents
liest eine Datei ein
 
def getContents(fn)
  f = File.open(fn,"r")
  s = f.read
  f.close
  s
end
Web-Dokumente
mit HTTP einlesen
 
require 'net/http'
require 'uri'
 
def getHttpContents(uri)
    url = URI.parse(uri)
    req = Net::HTTP::Get.new(url.path)
    res = Net::HTTP.start(url.hosturl.portdo |http|
      http.request(req)
    end
    res.body
end

Letzte Änderung: 14.02.2012
© Prof. Dr. Uwe Schmidt
Prof. Dr. Uwe Schmidt FH Wedel