Getting Host field from HTTP request in BaseHTTPRequestHandler

Question:

I’m writing a script using BaseHTTPRequestHandler class. And in do_GET(self) method I need to get the content of the Host field from the HTTP request. I can do it by regexping the str(self.headers) like proposed here: Determine site domain in BaseHTTPServer, but it’s kinda ugly and I wonder if there’s cleaner way to do that.

Asked By: Alex Bochkarev

||

Answers:

The attribute self.headers is a dictionary-like structure, so you can do this:

def do_GET(self):
    host = self.headers.get('Host')

When the header does not exist, None is returned.

Answered By: samplebias
Categories: questions Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.