#python #python-requests #robotframework #requests-oauthlib
#python #python-запросы #robotframework #запросы-oauthlib
Вопрос:
Я использую комбинацию библиотеки запросов роботов, библиотеки запросов Python и библиотеки запросов python_oauthlib для тестирования проекта OAuth2.
Интересно, есть ли простой способ получить код аутентификации (без индексации строк), чтобы я мог использовать его при генерации токена
Так, например, у меня есть заголовок ответа (при входе в систему):
{'location': 'http://127.0.0.1:19333/callback?code=clT17dFPedsgdfgsSFGDF==amp;state=random/', 'content-length': '0', 'date': 'Fri, 09 Oct 2020 11:20:52 GMT'}
что я получил, выполнив response.header
Есть ли какой-нибудь способ, которым я могу просто получить clT17dFPedsgdfgsSFGDF==
, выполнив что-то вроде request.auth_code
Ответ №1:
Используйте Urllib.parse
. parse_qs
Функция возвращает словарь пар ключ-значение, тогда parse_qsl
как функция возвращает список кортежей (ключ, значение).
import urllib.parse
queryStr = 'http://127.0.0.1:19333/callback?code=clT17dFPedsgdfgsSFGDF==amp;state=random/'
urllib.parse.parse_qsl(queryStr)
Вывод —
Для получения более подробной информации о кодировке URL
Комментарии:
1. В «robot speak» —
Evaluate urllib.parse.parse_qsl($queryStr) urllib
😉