CGIHTTPServer übergibt nicht alle Header an os.environ

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
maprie
User
Beiträge: 8
Registriert: Dienstag 13. Juni 2006, 22:51

Freitag 21. Juli 2006, 13:25

Der CGIHTTPServer übergibt nur die Header HTTP_ACCEPT, HTTP_COOKIE und HTTP_USER_AGENT an os.environ. Andere Header, wie HTTP_HOST oder HTTP_ACCEPT_CHARSET fide ich nicht, obwohl sie gesendet werden.
Gibt es eine Möglichkeit, trotzdem an sie heran zu kommen?
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Freitag 21. Juli 2006, 20:18

maprie hat geschrieben:Andere Header, wie HTTP_HOST oder HTTP_ACCEPT_CHARSET fide ich nicht, obwohl sie gesendet werden.
Hi maprie!

Was du alles so vom CGI-Server bekommst, das erfährst du über dieses CGI-Skript. Mehr kann ich zu diesem Thema leider nicht beitragen.

Code: Alles auswählen

#!/usr/bin/env python
# -*- coding: iso-8859-1 -*-

print "Content-Type: text/html;charset=iso-8859-1"
print

import cgi
import cgitb; cgitb.enable()

print \
"""<html>
<head>
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1" />
  <title>CGI-Informationen</title>
</head>
<body>
"""

cgi.print_arguments()
cgi.print_directory()
cgi.print_environ()
cgi.print_environ_usage()

import os
print os.environ.get("HTTP_HOST")

print \
"""
</body>
</html>
"""
mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
maprie
User
Beiträge: 8
Registriert: Dienstag 13. Juni 2006, 22:51

Freitag 21. Juli 2006, 22:07

Vielen Dank, leider ist es wohl so, das der CGIHTTPServer nicht alle Header übergibt. Schade, da muss ich mich wohl nach einem alternativen Testserver umsehen.

maprie
Antworten