我有一个程序(simple web server),我试图理解。有一个名为MyHandler的类。在这个类中,我们定义了两个方法do_GET和do_POST。
我不明白几件事:
我们在哪里使用上面定义的两种方法?我希望看到像objectname.do_GET()和objectname.do_POST()这样的东西,但我看不到这样的东西。
此时我们实例化了这个类?我们是否使用整个类(不是类的实例)作为HTTPServer的参数?
为什么我们在类的定义中指定参数(BaseHTTPRequestHandler)然后不使用它?
答案 0 :(得分:4)
我对Python很陌生,但我会有一个答案 - 它也可以帮助我学习!
我们从来没有从代码中调用do_GET()
和do_POST()
方法,这是由HTTPServer
类实例在发出GET和POST请求时自动完成的(见第2点。
HTTPServer
将为每个发出的HTTP请求创建MyHandler
类的实例。
BaseHTTPRequestHandler
不是参数:它指定我们的MyHandler
类子类BaseHTTPRequestHandler
。
希望这有帮助!