代码之家  ›  专栏  ›  技术社区  ›  Francisco

连接odoo xmlrpc时出现django错误

  •  0
  • Francisco  · 技术社区  · 6 年前

    视图.py

    class UserSerializer(ModelSerializer):
        class Meta:
            model = User
            fields = '__all__'
    
    class ProxiedTransport(Transport):
    
        def set_proxy(self, host, port=None, headers=None):
            self.proxy = host, port
            self.proxy_headers = headers
    
        def make_connection(self, host):
            connection = http.client.HTTPConnection(*self.proxy)
            connection.set_tunnel(host, headers=self.proxy_headers)
            self._connection = host, connection
            return connection
    
    class ResUser(ViewSet):
        url = 'http://localhost'
        db = 'odoo8'
        username = 'admin'
        password = 'admin'
    
        def list(self,request,format=None):
            p = ProxiedTransport()
            p.set_proxy('proxy.server',8080)
            common = ServerProxy('{}/xmlrpc/2/common'.format(self.url),p)
            uid = common.authenticate(self.db,self.username,self.password,{})
    
            return Response({})
    

    Request Method:     GET 
    Request URL:    http://localhost:8000/odoo-api/res/
    Django Version:     2.1 
    Exception Type:     gaierror 
    Exception Value:    [Errno -2] Name or service not known
    Exception Location:     /usr/lib/python3.6/socket.py in getaddrinfo, line 745
    

    问题出在哪里?

    0 回复  |  直到 6 年前
        1
  •  0
  •   Harsh Dhaduk    5 年前

    网址 变量您需要添加端口号和列标志。有关更多信息,请查看下面的python示例。

    https://freeweblearns.blogspot.com/2018/11/how-to-use-xmlrpc-using-python-for-new.html