私は Django Web サイトを作成していますが、かなり新しいものです。この webapp では、データベースから要求されたデータを含む xml ファイルを吐き出すこの API を使用する必要があります。基本的に API URL は次のとおりです。
https://adminuser:password@url.to.database.com/database.getdata?arg=1&arg2=0
したがって、私の python views.py には次のものがあります。
def fetch_xml(url):
import urllib
import xml.etree.cElementTree as xml_parser
u = urllib.URLopener(None)
usock = u.open(url)
rawdata = usock.read()
usock.close()
return xml_parser.fromstring(rawdata)
http://www.webmonkey.com/2010/02/integrate_web_apis_into_your_django_site/から取得したもの
ただし、次のエラーがすぐに表示されましたusock = u.open(url)
IOError at /webapp/
[Errno socket error] [Errno 1] _ssl.c:480: error:140943FC:SSL routines:SSL3_READ_BYTES:sslv3 alert bad record mac
urllib
接続が確立できない場合、IOError がスロー
されるというドキュメントを読みました。http://docs.python.org/library/urllib.html
また、ウィキペディアでは、「Bad record MAC」という致命的なアラートは、「SSL 実装が不適切であるか、ペイロードが改ざんされている可能性があります。例: FTPS サーバーの FTP ファイアウォール ルール」を意味します。 ."
しかし、私が理解していないのは、URL をブラウザーに貼り付けると正常に動作し、XML ファイルが吐き出されるということです。
また、(ロングショットとして)Apacheのインストールである可能性があると考えたのでapachectl -t -D DUMP_MODULES
、端末に入力してmod_sslがロードされていることを確認し、共有としてロードされました。
どんなアイデアでも大歓迎です。ありがとう!