我有一个使用 SOAPpy 的 Python Web 服务。 Webservice服务器的结构如下图所示:
class myClass:
def hello():
return 'world'
if __name__ == "__main__":
server = SOAPServer( ( 'localhost', 8888 ) )
myObject = myClass()
namespace = 'whatever::namespace'
server.registerObject( myObject, namespace )
server.serve_forever()
如果客户端从我的 Web 服务调用 hello()
方法,我如何读取 header ,以便开始记录一些信息(例如:IP 地址)以进行调试?
最佳答案
你想在你的 hello 方法中进行日志记录吗?下面是一个最小的示例,展示了如何将 SOAPContext 信息(可以为您提供一些此类信息)传递到函数/方法调用中:
from SOAPpy import *
def hello(_SOAPContext = None):
return "Your IP address is %s" % _SOAPContext.connection.getpeername()[0]
if __name__ == "__main__":
server = SOAPServer( ( '10.3.40.104', 8080 ) )
server.registerFunction( MethodSig(hello, keywords=0, context=1) )
server.serve_forever()
关于python - 使用soappy SOAPServer时,如何读取请求的 header ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3442276/