Я знаю, что это уже было сказано, но я очень рекомендую requests
пакет Python.
Если вы использовали языки, отличные от python, вы, вероятно, думаете urllib
и urllib2
просты в использовании, не так много кода и обладаете высокой способностью, как я привык думать. Но requests
пакет настолько невероятно полезен и короток, что каждый должен его использовать.
Во-первых, он поддерживает полностью релаксирующий API и так же прост, как:
import requests
resp = requests.get('http://www.mywebsite.com/user')
resp = requests.post('http://www.mywebsite.com/user')
resp = requests.put('http://www.mywebsite.com/user/put')
resp = requests.delete('http://www.mywebsite.com/user/delete')
Независимо от того, используется ли GET / POST, вам больше никогда не придется кодировать параметры, он просто принимает словарь в качестве аргумента и хорошо идти:
userdata = {"firstname": "John", "lastname": "Doe", "password": "jdoe123"}
resp = requests.post('http://www.mywebsite.com/user', data=userdata)
Кроме того, он даже имеет встроенный JSON-декодер (опять же, я знаю, json.loads()
что писать не так уж и много, но это, безусловно, удобно):
resp.json()
Или, если ваши данные ответа - просто текст, используйте:
resp.text
Это только верхушка айсберга. Это список функций с сайта запросов:
- Международные домены и URL
- Keep-Alive & Connection Pooling
- Сессии с сохранением Cookie
- Проверка SSL в стиле браузера
- Базовая / дайджест-аутентификация
- Элегантный ключ / ценное печенье
- Автоматическая декомпрессия
- Ответные органы Unicode
- Загрузка нескольких файлов
- Время ожидания подключения
- Поддержка .netrc
- Пункт списка
- Python 2.6—3.4
- Потокобезопасна.