2017-05-01 19 views
0

私はPythonにはかなり新しく、Python 2.7でurrlib3で認証エラーを処理する方法についていくつかのガイダンスがあります。私の現在のユースケースでは、SNAPIを使ってServiceNowチケットを自動作成しています。これを行うには、私は自分のユーザー名/パスワードを使用してログインするためにトークンを取得するために以下のコードスニペットを持っている。Python urllib3エラー処理

r = session.post(auth_url, json=login_data, verify=False) 
web_token = r.text 

これが正常に動作しているが、内部エラーが発生した場合、私は自分自身を通知するクリーンな方法をしたいですコード。ユーザー名/パスワードが正しくない場合は、SN Webサーバーから返信します。

{ 
    "error": "Authentication failure" 
} 

もともと私は、try /例外を使用するつもりだったが、コードが正しく動作しているので、それはこの場合には非常にうまく機能しないように、それはちょうど私が期待していた入力ではありませんようです。だから私の第二の考えはの線に沿って何かやっていた:私は別のものをダウンする必要がある場合はそのためのコードを書く前に

if r.text does not contain "error" 
then continue on my doe 
else send an email telling me the error code 

を、私はこれはエラー処理のこのタイプのための最善の方法であるかどうかを確認したかったのかルート。

おかげで、 エリック

答えて

0

私は友人と話をしたし、彼は非常にうまく機能しているようだし、もし/ matchステートメントを行うよりも多くのクリーナーです以下の方法をお勧めします。

try: 
    r = session.post(auth_url, json=login_data, verify=False) 
    web_token = r.text 
    r.raise_for_status() 
except Exception as e: 
    print(e)