Как использовать методы типа GET в языке Python?

Всем привет!
У меня стоит задача. Есть API электронного журнала в котором прописаны методы и параметры по которым нужно обращаться, чтобы получить доступ к информации. Я пишу скрипт для бота в Телеграме, который будет отправлять запрос в ЭЖ и передавать ее конечному пользователю по ту сторону Телеграма. Я понял, что мне нужно использовать библиотеку request для python. Я подсмотрел курс на Codecademy.
Но мне все равно непонятны пара моментов:
1. Как используются методы типа getRules в Python?
Это должно быть requests.get("rules",...) или requests.getrules("...")?
2. Как в том же python передавать данные типа user, password, vendor?
3. Где можно почитать по этой теме хорошую литературу?
Пока все :) Заранее спасибо.
  • Вопрос задан
  • 5242 просмотра
Решения вопроса 1
@VZVZ
Reverse-Engineer, Software Developer, Architect
Вы, похоже, путаете одни "методы" с другими "методами".

Во-первых, не бывает никаких "методов типа GET".
Это называется "запросы методом GET", что означает "запросы типа GET". В терминологии HTTP, слово "метод" означает "тип запроса".

А методы API (каким, по-видимому, является getRules) - это адрес (URL), к которому нужно делать HTTP-запрос методом GET или методом POST.
Адрес должен быть полным. В документации могут опускаться полные адреса для запросов, вместо них там так называемые "методы API".
Но по-любому нужно раздобыть полный URL. Он должен быть в документации где-то (его первая часть общая дя всех "методов API"). Также его можно найти методом гуглинга.

С Телеграмом не работал, но приведу пример для API ВКонтакте.

Вот документация со списком "методов API":
vk.com/dev/methods

Вот описание в ней "метода" под названием "users.get":
vk.com/dev/users.get

А вот какой полный URL у нас получается в итоге:
http://api.vk.com/method/users.get?user_ids=58756174


Вот эта вот часть - "api.vk.com/method" - она общая для всех "методов API" в случае с VK API.
Разумеется, для какого-то другого API она будет другая совсем. Ее нужно найти - в документации либо в гугле. Это возможно, если гуглить примеры кода с этим API.

Этот полный URL мы можем открыть в браузере (т.к. API поддерживает GET-запросы), и увидим, что все работает. Также мы может отправить по нему GET-запрос программно, получится типа такого:
requests.get("http://api.vk.com/method/users.get?user_ids=58756174", ...)


Еще рекомендую скачать и поставить сниффер Fiddler, это практически незаменимое средство для тех, кто пишет боты.
Он позволяет перехватывать все GET/POST-запросы с вашего компа, его можно использовать для отладки и для реверс-инжиниринга.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
boonya
@boonya
Backend developer (Python/PHP)
НУ собственно самая лучшая литература по python requsts - документация.
Что вы имеете ввиду под фразой "методы типа getRules в Python"?
По поводу передачи аргументов, то на первой странице документации есть наглядный пример.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы