In Python versions 3.4 and higher, the http.server
module accepts a bind
parameter.
According to the docs:
python -m http.server 8000
By default, server binds itself to all interfaces. The option
-b/–bind specifies a specific address to which it should bind. For example, the following command causes the server to bind to localhost
only:
python -m http.server 8000 --bind 127.0.0.1
New in version 3.4: –bind argument was introduced.