У меня есть вызов cURL, который я использую в PHP:
curl -i -H 'Accept: application / xml' -u login: key " https://app.streamsend.com/emails "
Мне нужен способ сделать то же самое в Python. Есть ли альтернатива cURL в Python. Я знаю urllib, но я новичок в Python и понятия не имею, как его использовать.
requests
в python (доступна для установки через easy_install или pip в PyPi). Имя / URL-адрес немного сбивает с толку - сначала я почти подумал, что это запрос на лучшееurllib2
, а неrequests
на интуитивно понятную простую в использовании библиотеку pythonicsudo easy_install requests
илиsudo pip install requests
.Ответы:
Вместо этого ваш вызов cURL использует urllib2. Полностью непроверенный.
источник
Вы можете использовать HTTP-запросы, описанные в руководстве пользователя « Запросы: HTTP для людей» .
источник
Вот простой пример использования urllib2, который выполняет базовую аутентификацию по API GitHub.
Кроме того, если вы заключите это в сценарий и запустите его с терминала, вы можете передать строку ответа в mjson.tool, чтобы включить красивую печать.
И последнее, что следует отметить, urllib2 поддерживает только запросы GET и POST.
Если вам нужно использовать другие HTTP-команды, такие как DELETE, PUT и т. Д., Вы, вероятно, захотите взглянуть на PYCURL
источник
Если вы используете команду для простого вызова curl таким образом, вы можете сделать то же самое в Python с помощью
subprocess
. Пример:Или вы можете попробовать PycURL, если хотите, чтобы он был более структурированным API, как у PHP.
источник
import subprocess
? Среда python repl похожа на файл python, вам необходимо импортировать другие модули.Это самое простое, что мне удалось получить.
источник
urllib2
слишком сложно.Например, как использовать urllib для этого, с некоторым синтаксисом сахара. Я знаю о запросах и других библиотеках, но urllib является стандартной библиотекой для python и не требует отдельной установки.
Совместимость с Python 2/3.
Функция неполна и, возможно, не идеальна, но демонстрирует базовое представление и концепцию для использования. Дополнительные вещи можно было добавить или изменить по вкусу.
12/08 обновление
Вот ссылка GitHub на обновленный источник. В настоящее время поддерживает:
авторизация
CRUD совместимый
автоматическое определение кодировки
автоматическое определение кодирования (сжатия)
источник
Если он запускает все вышеперечисленное из командной строки, которую вы ищете, я бы порекомендовал HTTPie . Это фантастическая альтернатива cURL, она очень проста и удобна в использовании (и настройке).
Вот его (краткое и точное) описание с GitHub;
Документация по аутентификации должна дать вам достаточно указателей для решения ваших проблем. Конечно, все приведенные выше ответы также верны и предлагают разные способы решения одной и той же задачи.
Просто чтобы вам НЕ нужно отказываться от Stack Overflow, вот что он предлагает вкратце.
источник