আপনি যদি উত্সটি পড়েন তবে দেখতে পাবেন যে কেবল পোর্টটি কমান্ড লাইনে ওভাররাইড করা যাবে। আপনি যে হোস্টটি পরিবেশন করা হয়েছে তা পরিবর্তন করতে চান, আপনাকে নিজের এবং নিজেই test()
পদ্ধতিটি প্রয়োগ করতে হবে । তবে এটি সত্যই সহজ হওয়া উচিত।SimpleHTTPServer
BaseHTTPServer
আপনি সহজেই এটি কীভাবে করতে পারেন তা এখানে:
import sys
from SimpleHTTPServer import SimpleHTTPRequestHandler
import BaseHTTPServer
def test(HandlerClass=SimpleHTTPRequestHandler,
ServerClass=BaseHTTPServer.HTTPServer):
protocol = "HTTP/1.0"
host = ''
port = 8000
if len(sys.argv) > 1:
arg = sys.argv[1]
if ':' in arg:
host, port = arg.split(':')
port = int(port)
else:
try:
port = int(sys.argv[1])
except:
host = sys.argv[1]
server_address = (host, port)
HandlerClass.protocol_version = protocol
httpd = ServerClass(server_address, HandlerClass)
sa = httpd.socket.getsockname()
print "Serving HTTP on", sa[0], "port", sa[1], "..."
httpd.serve_forever()
if __name__ == "__main__":
test()
এবং এটি ব্যবহার করতে:
> python server.py 127.0.0.1
Serving HTTP on 127.0.0.1 port 8000 ...
> python server.py 127.0.0.1:9000
Serving HTTP on 127.0.0.1 port 9000 ...
> python server.py 8080
Serving HTTP on 0.0.0.0 port 8080 ...