2017-03-09 2 views
1

Odoo Web Service API을 파이썬에서 시험해보고 기본 Django app 및 xmlrpclib를 사용하여 모든 것이 localhost에서 올바르게 작동합니다. 내가 pythonanywhere에서 host it 때 나는 [errno를 111] 연결이 오류를 거부 얻을 :[Errno 111] Connection refuse를받을 때 Python 프록시 서버를 사용하는 방법

포트 proxy.server에서 자신의 HTTP 프록시 무료 계정에와 있음을 폐쇄 자신의 도움말 페이지 they describe

enter image description here

: 3128을 사용해야합니다. 그렇게하는 방법? 그들의 whitelist.odoo.com를 추가하면

실제로는 프록시없이 작동하지만, 나 또한 다른 호스팅에이 응용 프로그램을 실행하는 방법을 아는 프록시 문제는 흥미 롭다. 여기

내보기의 장고 코드 (예 나는 그냥 테스트를 위해,보기에 HTML을 넣어 나쁜 연습을 알고) :

from django.http import HttpResponse 
import xmlrpclib 

url = "https://demo3.odoo.com" 
db = "demo_100_1489044950" 
username = "admin" 
password = "admin" 

#odoo service connection 
common = xmlrpclib.ServerProxy('{}/xmlrpc/2/common'.format(url)) 
uid = common.authenticate(db, username, password, {}) 
models = xmlrpclib.ServerProxy('{}/xmlrpc/2/object'.format(url)) 
products = models.execute_kw(db, uid, password, 
    'product.template', 'search_read', 
    [[]], 
    {'fields': ['name', 'list_price'], 'limit': 10}) 

for product in products: 
    print product['id'], product['name'], product['list_price'] 

def index(request): 
    html = "<html><body><h1>Odoo Products</h1>" 
    for product in products: 
     name = product['name'].encode("utf-8", "strict") 
     html += "<div>"+name+": "+str(product['list_price'])+"</div>" 
    html += "</body></html>" 
    return HttpResponse(html) 

PS : 장고 응용 프로그램의 소스 코드는 this github repository

답변

1

This blog post은 프록시를 인식하는 xmlrpclib.ServerProxy의 하위 클래스를 만드는 방법을 설명하며 제대로 작동합니다. (경고 : 내게는 완전히 맞지만 나는 직접 시도하지 않았다.)

+0

링크를 제공해 주셔서 감사합니다. 나는 당신의 답에 코드 예제를 추가했다면 좋겠다. – geraldo

+0

괜찮 으면 좋겠지 만, 사회자가 코드 예제를 편집보다는 주석의 일부로 선호하는 것처럼 보입니다. –

+0

문제 없습니다, 코드는 github repo에 있으므로 관심있는 ppl을 쉽게 찾을 수 있어야합니다. – geraldo