Miniwebserver: Unterschied zwischen den Versionen

Aus C3D2
Zur Navigation springen Zur Suche springen
(→‎Ruby: gürü)
(This page must use the Rübÿ Spëëd Mëtäl Cödïng template!!!111)
Zeile 1: Zeile 1:
[[Category:Ruby]] [[Category:Python]]
[[Category:Ruby]] [[Category:Python]]
=Python=
=Python=
==beginner version==
==beginner version==
<source lang="python">
<source lang="python">
Zeile 8: Zeile 6:
import sys
import sys
import os
import os
from SocketServer import ThreadingMixIn
from SocketServer import ThreadingMixIn
from BaseHTTPServer import HTTPServer
from BaseHTTPServer import HTTPServer
from SimpleHTTPServer import SimpleHTTPRequestHandler
from SimpleHTTPServer import SimpleHTTPRequestHandler
class ThreadingHTTPServer(ThreadingMixIn, HTTPServer):
class ThreadingHTTPServer(ThreadingMixIn, HTTPServer):
     pass
     pass
if len(sys.argv) != 3:
if len(sys.argv) != 3:
     print "Usage: %s <port> <dir>" % (sys.argv[0],)
     print "Usage: %s <port> <dir>" % (sys.argv[0],)
     sys.exit()
     sys.exit()
address = ('', int(sys.argv[1]))
address = ('', int(sys.argv[1]))
server = ThreadedHTTPServer(address, SimpleHTTPRequestHandler)
server = ThreadedHTTPServer(address, SimpleHTTPRequestHandler)
os.chdir(sys.argv[2])
os.chdir(sys.argv[2])
try:
try:
     server.serve_forever()
     server.serve_forever()
Zeile 30: Zeile 22:
     pass
     pass
</source>
</source>
==advanced version==
==advanced version==
<source lang="python">
<source lang="python">
#!/usr/bin/env python
#!/usr/bin/env python
import sys
import sys
from twisted.python import log
from twisted.python import log
from twisted.internet import reactor
from twisted.internet import reactor
from twisted.web import server, static
from twisted.web import server, static
if len(sys.argv) != 3:
if len(sys.argv) != 3:
     print "Usage: %s <port> <dir>" % (sys.argv[0],)
     print "Usage: %s <port> <dir>" % (sys.argv[0],)
     sys.exit()
     sys.exit()
root = static.File(sys.argv[2])
root = static.File(sys.argv[2])
site = server.Site(root)
site = server.Site(root)
reactor.listenTCP(int(sys.argv[1]), site)
reactor.listenTCP(int(sys.argv[1]), site)
log.startLogging(sys.stderr)
log.startLogging(sys.stderr)
reactor.run()
reactor.run()
</source>
</source>
==guru version==
==guru version==
<source lang="bash">
<source lang="bash">
twistd -n web --path $path --port $port
twistd -n web --path $path --port $port
</source>
</source>
=Ruby=
=Ruby=
==äđëqüäŧë==
==äđëqüäŧë==
<source lang="ruby">
<source lang="ruby">
#!/usr/local/bin/ruby
#!/usr/local/bin/ruby
require 'webrick'
require 'webrick'
include WEBrick
include WEBrick
if ARGV.size != 2
if ARGV.size != 2
   puts "Usage: #{$0} <port> <dir>"
   puts "Usage: #{$0} <port> <dir>"
   exit
   exit
end
end
s = HTTPServer.new(
s = HTTPServer.new(
   :Port            => ARGV[0].to_i,
   :Port            => ARGV[0].to_i,
   :DocumentRoot    => ARGV[1]
   :DocumentRoot    => ARGV[1]
)
)
trap("INT"){ s.shutdown }
trap("INT"){ s.shutdown }
s.start
s.start
</source>
</source>
==gürü==
==gürü==
<source lang="bash">
<source lang="bash">
ruby -rwebrick -e 'WEBrick::HTTPServer.new(:Port=>8080,:DocumentRoot=>"/tmp").start'
ruby -rwebrick -e 'WEBrick::HTTPServer.new(:Port=>8080,:DocumentRoot=>"/tmp").start'
</source>
</source>
{{Rübÿ Spëëd Mëtäl Cödïng}}

Version vom 26. Juni 2008, 17:12 Uhr

Python

beginner version

#!/usr/bin/env python
import sys
import os
from SocketServer import ThreadingMixIn
from BaseHTTPServer import HTTPServer
from SimpleHTTPServer import SimpleHTTPRequestHandler
class ThreadingHTTPServer(ThreadingMixIn, HTTPServer):
    pass
if len(sys.argv) != 3:
    print "Usage: %s <port> <dir>" % (sys.argv[0],)
    sys.exit()
address = ('', int(sys.argv[1]))
server = ThreadedHTTPServer(address, SimpleHTTPRequestHandler)
os.chdir(sys.argv[2])
try:
    server.serve_forever()
except KeyboardInterrupt:
    pass

advanced version

#!/usr/bin/env python
import sys
from twisted.python import log
from twisted.internet import reactor
from twisted.web import server, static
if len(sys.argv) != 3:
    print "Usage: %s <port> <dir>" % (sys.argv[0],)
    sys.exit()
root = static.File(sys.argv[2])
site = server.Site(root)
reactor.listenTCP(int(sys.argv[1]), site)
log.startLogging(sys.stderr)
reactor.run()

guru version

twistd -n web --path $path --port $port

Ruby

äđëqüäŧë

#!/usr/local/bin/ruby
require 'webrick'
include WEBrick
if ARGV.size != 2
  puts "Usage: #{$0} <port> <dir>"
  exit
end
s = HTTPServer.new(
  :Port            => ARGV[0].to_i,
  :DocumentRoot    => ARGV[1]
)
trap("INT"){ s.shutdown }
s.start

gürü

ruby -rwebrick -e 'WEBrick::HTTPServer.new(:Port=>8080,:DocumentRoot=>"/tmp").start'


Rübÿ Spëëd Mëtäl Cödïng
Coders: Astro | Conny | Sven