Я делаю сайт Django и довольно новый. В этом webapp мне нужно использовать этот API, который выплевывает XML-файл с запрошенными данными из базы данных. основном URL API является:Django запрос XML-файл с ошибкой SSL IO
https://adminuser:[email protected]/database.getdata?arg=1&arg2=0
Так что в моем питона 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 Кроме того, в Википедии «Неудачная запись MAC» означает «Возможно, неверная реализация SSL, или полезная нагрузка была изменена». Например, правило FTP-брандмауэра на сервере FTPS ».
Но я не понимаю, что когда я вставляю URL-адрес в свой браузер, он отлично работает и выплескивает XML-файл.
Я также подумал (как длинный снимок) это может быть моя установка Apache, поэтому я проверил, что mod_ssl загружается, набрав apachectl -t -D DUMP_MODULES
в терминале и загружается как общий.
Любые идеи были бы весьма признательны. Благодаря!