#python #json #basic-authentication
#python #json #базовая аутентификация
Вопрос:
Здравствуйте, я создаю скрипт на python для geektool для мониторинга моих входящих сообщений с мобильных устройств. Мне удалось создать это на java, но я никогда не использовал python.
api url: https://mobilevikings.com/api/2.0/basic/usage.json
password: xxxx
username: yyyy
у меня уже есть следующий нерабочий код, скопированный из Интернета
import urllib2, base64
request = urllib2.Request(url)
base64string = base64.encodestring('%s:%s' % (username, password)).replace('n', '')
request.add_header("Authorization", "Basic %s" % base64string)
result = urllib2.urlopen(request)
Как мне получить файл json из api?
Комментарии:
1. Для
urllib2
кода должно просто работать. Вы уже пробовали (гораздо более простую в использовании)requests
библиотеку ? Это отдельная установка, но тогда вы можете просто использоватьresp = requests.get(url, auth=(username, password))
, затемresult = resp.json()
.2. Дополнительным преимуществом использования
requests
является то, что существуют дополнительные библиотеки, подобныеrauth
, которые упрощают использование OAuth. Я вижу mobilevikings.com предоставляет вам возможность использовать любой из них, но рекомендует использовать OAuth вместо базовой аутентификации.3. Почему вы говорите, что код нерабочий? В чем проблема с этим? Вызывает ли это исключение, отображает ли сообщение об ошибке, ничего не делает?
4. Вы пытались искать
https://mobilevikings.com/api/
информацию о оболочке Python? Возможно, они создали какие-то полезные инструменты на Python. Кажется, вы этого не сделали, потому что вы увидитеpython OAuth client
на этой странице.