IThaiのブログ

IT関連の話題やタイに関する様々なことを書いていきます。

PythonでSSL通信する方法

kkv.hatenablog.com

JavaでSSL通信する方法を調べたので、今回はPythonでSSL通信するにはどうするのかを調査しました。

環境

MacOSX : 10.10.2

python : 2.7.6

(現在は3系が主流になりつつあるも、まだまだ2系は現役なのです。)

import urllib
import httplib

def execute():
    conn = httplib.HTTPSConnection('www.example.com')
    params = urllib.urlencode({'spam': 1, 'eggs': 2, 'bacon': 0})
    headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"}
    conn.request('POST', '/', params, headers)
    res = conn.getresponse()
    data = res.read()
    print data

if __name__ == '__main__':
    execute()

2系の前半では、httplib.HTTPSConnectionでエラーにある場合があるようで、import sslで試してみると、sslモジュールがないと言われる。

pythonのSSLモジュールは、OpenSSLライブラリを利用しており、OpenSSLがない場合はOpenSSLのインストールとPythonの再インストール&コンパイルが必要になるようです。

こちらを参考にさせていただきました。 Python 2.6でSSLを有効化するためのPythonインストール手順 - masabossa microblog

基礎から始めるPython

基礎から始めるPython