Advertisement
s_m4rt

Untitled

Nov 30th, 2015
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.18 KB | None | 0 0
  1. import http.server
  2. import socketserver
  3. import time
  4. PORT=8000
  5.  
  6. class MyHandler(http.server.BaseHTTPRequestHandler):
  7. def do_HEAD(self):
  8. self.send_response(200)
  9. self.send_header("Content-type", "text/html")
  10. self.end_headers()
  11.  
  12. def do_GET(self):
  13. print('przyszlo zapytanie:', self.path)
  14. if self.path=='/' or self.path.endswith('index.html'):
  15. self.send_response(200)
  16. self.send_header("Content-type", "text/html")
  17. self.end_headers()
  18.  
  19. content= '''
  20. <html>
  21. <head>
  22. <title>zegar</title>
  23. <link rel="stylesheet" type="text/css" href="style.css">
  24. <head>
  25. <body>
  26. <div>zegar: %s</div>
  27. <script src="script.js"></script>
  28. </body>
  29. </html> '''
  30. # wstawianie stringa
  31. content %= time.strftime('%H:%M:%S')
  32. # wysyłanie zawartości strony
  33. self.wfile.write(bytes(content, 'utf-8'))
  34. # wyjście z metody (żeby dalszy kod się nie wykonywał
  35. return
  36. # obsługa np. cssów
  37. if self.path.endswith('.css'):
  38. self.send_response(200)
  39. # content type jest inny
  40. self.send_header("Content-type", "text/css")
  41. self.end_headers()
  42. # otwieranie pliku w trybie binarnym
  43. with open('.' + self.path, 'rb') as f:
  44. self.wfile.write(f.read())
  45. return
  46. # obsługa javascript
  47. if self.path.endswith('.js'):
  48. self.send_response(200)
  49. # content type jest inny
  50. self.send_header("Content-type", "application/javascript")
  51. self.end_headers()
  52. # otwieranie pliku w trybie binarnym
  53. with open('.' + self.path, 'rb') as f:
  54. self.wfile.write(f.read())
  55. return
  56. # analogicznie inne typy plików
  57. # w przypadku błędów
  58. self.send_error(404, 'Strona nieodnaleziona')
  59. def main():
  60. handler = MyHandler
  61. address = ('', PORT)
  62. s = socketserver.TCPServer(address, handler)
  63. print('serwer nasłuchuje na porcie:', PORT)
  64. s.serve_forever()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement