Pythonでxmlrpc普段はJavaでTrac XML-RPC Pluginにアクセスしているのですが、どうせならPythonだけで完結できるように・・・ってことで、Pythonを用いてアクセスしてみるテスト。
単純にアクセスするだけであれば、実はすごく簡単。
import xmlrpclib
srcServer = xmlrpclib.ServerProxy('http://hostname/trac/test/xmlrpc')
srcTicket = srcServer.ticket.get(1)
って感じで、実行すると、チケット#1の内容を取得することができます。Basic認証が必要な場合は、
srcServer = xmlrpclib.ServerProxy('http://username:password@hostname/trac/test/login/xmlrpc')
となります。SSLでの通信も、単純にプロトコルをhttpsにするだけで問題なく行えます。
srcServer = xmlrpclib.ServerProxy('https://username:password@hostname/trac/test/login/xmlrpc')
Pythonのhttps通信では、サーバ証明書のチェックは特に行っていないようで、自己署名証明書等を用いた場合でも特にエラー等は出たりしないようです(Python2.5.1で動作確認)。
なお、標準状態では、SSLクライアント証明書を利用したXML-RPCアクセスはできないようです。ただ、PythonのhttplibのHTTPSConnectionはSSLクライアント証明書を利用できるようなので、方法はあるはず・・・。
【普通にSSLクライアント証明書を用いてアクセス】
p12形式のファイルだと使用できないとのことなので、
openssl pkcs12 -nodes -in someclient.p12 -out someclient.pem
で変換しておきます。なお、-nodesでパスワードも除去していますので、取り扱いには注意が必要となります。証明書ファイルを用いて、
import httplib
h = httplib.HTTPSCon
(1/5) Next»
Comments(0)|コメントを書く
List all categories
Recent Comments
About
このブログを友達に教える