Pepperからurllib2でのhttp通信エラーの対処方法

投稿者: Anonymous

Pepperからurllib2でHTTP通信を行っていますが、NAOqi OS 2.4.3 から 2.5.5にOSのバージョンをあげたところ

 [Errno 1] _ssl.c:507: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure>  

のエラーが出力されるようになりました。

requestsでのHTTP通信でも試してみましたが、

requests.exceptions.SSLError: [Errno 1] _ssl.c:504: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure

と似たようなエラーとなりました。

リクエストURLは「https://api.apigw.smt.docomo.ne.jp/dialogue/v1/dialogue」です。

対処方法はありますでしょうか。

NAOqi 2.5.5
Python 2.7.6

解決

Python 2.7.6 が古すぎるのが問題なのでしょう。
Python 2.7.13 では問題ありませんが、Python 2.7.6 では再現しますね。

requestsのインストールを以下のようにしてみてください。

pip install requests[security]

OpenSSLラッパーの pyOpenSSL と、必要なライブラリが一通りインストールされます。この状態でいちおう再現しなくなりました。

これで駄目ならOpenSSLのバージョンを確認するべきかと思います。

回答者: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *