美文网首页
pyspider源码-run.py之xmlrpclib

pyspider源码-run.py之xmlrpclib

作者: comboo | 来源:发表于2017-04-05 14:12 被阅读51次
    try:
            from six.moves import xmlrpc_client
    except ImportError:
            import xmlrpclib as xmlrpc_client
    

    RPC的服务

    RPC是指远程过程调用,也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据。

    xmlrpclib

    是一个将数据定义为xml格式,通过http协议进行远程传输的包

    class xmlrpclib.ServerProxy(uri[, transport[, encoding[, verbose[, allow_none[, use_datetime[, context]]]]]])

    A ServerProxy
    instance is an object that manages communication with a remote XML-RPC server.
    一个serverproxy实例,管理远程xml-rpc服务

    服务端

    import xmlrpclib
    
    import xmlrpclib
    from SimpleXMLRPCServer import SimpleXMLRPCServer
    
    #函数
    def is_even(n):
        return n % 2 == 0
    
    server = SimpleXMLRPCServer(("localhost", 8000))
    print "Listening on port 8000..."
    #注册到客服端
    server.register_function(is_even, "is_even")
    server.serve_forever()
    

    客户端

    #coding:utf-8
    import xmlrpclib
    
    import xmlrpclib
    from SimpleXMLRPCServer import SimpleXMLRPCServer
    #服务器
    
    proxy = xmlrpclib.ServerProxy("http://localhost:8000/")
    print "3 is even: %s" % str(proxy.is_even(3))
    print "100 is even: %s" % str(proxy.is_even(100))
    

    相关文章

      网友评论

          本文标题:pyspider源码-run.py之xmlrpclib

          本文链接:https://www.haomeiwen.com/subject/gfntattx.html