2016-12-05 36 views
0

我正嘗試使用Xmlrpc連接到Magento API。Xmlrpc ServerProxy返回socket.gaierror

當網址有效時,我沒有問題。但我想捕捉錯誤,如果該網址無效。如果我的網址無效嘗試,我有:

socket.gaierror:[錯誤8]節點名,也不servname提供,或者不知道

我試圖抓住它,但我不能找到一個辦法做到這一點.. 我使用Python的3.5

from xmlrpc.client import ServerProxy 
from socket import gaierror 

params = { 
    "encoding: "utf-8", 
    "verbose": False, 
    "transport": SpecialTransport() # I use a SpecialTransport class 
} 

try: 
    client = ServerProxy("https://ma.bad.url, **params) 
except gaierror: 
    print("Error") 

的問題是,我從來沒有經歷的不同之處..

我不明白是什麼我做錯了..

謝謝!

回答

0

我正在回答自己。 我終於可以使它像這樣工作:

# Connect to the url 
    client = ServerProxy('https://my.bad.url', **params) 

    # Try to login to Magento to get a session 
    try: 
     session = client.login('username', 'password') 
    except gaierror: 
     # Error resolving/connecting to the url 
     print('Connection error') 
     sys.exit(2) 
    except Fault: 
     # Error with the login 
     print('Login error') 
     sys.exit(2) 
    else: 
     print('Success')