Я знаю, что это уже было сказано, но я очень рекомендую 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 и пул соединений
- сеансов с сохранением cookie
- Проверка SSL в стиле браузера
- Базовая / дайджест-аутентификация
- Элегантный ключ / ценное печенье
- Автоматическая декомпрессия
- Органы ответа Unicode
- Загрузка нескольких файлов
- Время ожидания подключения
- .netrc поддержка
- Элемент списка
- Python 2.6—3.4
- потокобезопасна.