Как протестировать REST API с помощью расширения Chrome "Advanced Rest Client"
Следуя инструкциям по ссылке ниже, я успешно построил REST API для своего приложения Django: http://django-rest-framework.org/tutorial/quickstart.
Я могу проверить его, выполнив следующее из приглашения Unix:
curl -H 'Accept: application/json; indent=4' -u root:myPassword http://www.myWebsite.com/users/
Работает:)
Тем не менее, я хотел бы использовать расширенный клиент Chrome Rest Client для тестирования этой же функциональности.
Я установил расширение, но я не знаю, где/как поставить поля. Когда я делаю свою образованную догадку (как вы можете видеть на скриншоте), она отвергает ее: "Учетные данные аутентификации не были предоставлены"
![screenshot of failing request]()
Как/где я должен указывать свои параметры в REST API?
Ответы
Ответ 1
Обнаружение является мрачным, но довольно разумно, как Advanced Rest Client обрабатывает базовую аутентификацию. Ярлык, на который ссылается абрахам, не работал у меня, но немного засунувшись, показал, как он это делает.
Первое, что вам нужно сделать, это добавить заголовок Authorization
:
![menus]()
Затем появляется маленькая мелочь, когда вы фокусируете вход value
(обратите внимание на поле "конструкция" в правом нижнем углу):
![construct the auth value]()
Нажатие на него откроет окно. Он даже делает OAuth, если хотите!
![convenient inputs]()
Тада! Если вы оставите поле значения пустым, когда вы нажмете "построить", он добавит к нему часть Basic
(я предполагаю, что он также добавит необходимый материал OAuth, но я не пробовал это, поскольку мои текущие потребности были для базовой аутентификации), поэтому вам не нужно ничего делать.
![fills in the field as needed]()
Ответ 2
На скриншоте я вижу, что вы хотите передать значения "пользователь" и "пароль" в службу. Вы отправили значения параметров в части заголовка запроса, которая неверна.
Значения отправляются в тело запроса, а не в заголовке запроса.
Также ваш синтаксис неверен.
Правильный синтаксис: {"user":"user_val","password":"password_val"}.
Также проверьте, какой тип содержимого. Он должен соответствовать типу контента, установленному для вашей службы.
Ответ 3
Это кажется очень старым вопросом, но я предоставляю ответ, чтобы он мог помочь другим.
Вы можете указать переменные на втором экране в разделе формы, как показано ниже или в
RAW, добавив переменные, как показано на втором изображении.
![Specify Form Variables]()
![Specify in RAW format]()
Если значения переменной и переменной действительны, вы должны увидеть успешный ответ в разделе ответа.
Ответ 4
Формат ярлыка, обычно используемый для базового auth, http://username:[email protected]/path
. Вы также захотите включить заголовок accept в запрос.
![enter image description here]()
Ответ 5
в разделе заголовка вы должны написать
Авторизация: Basic aG9sY67890vbGNpbQ ==
где string after basic - это 64-битное значение кодировки вашего имени пользователя: пароль.
php-пример получения значений заголовка:
эхо "Авторизация: основное". base64_encode ( "MyUser: MyPassword" );
n.b: Я предположил, что ваш метод аутентификации является основным. которые могут быть разными.
Ответ 6
Добавьте заголовок авторизации и нажмите кнопку карандаша, чтобы ввести имя пользователя и пароль
![введите описание изображения здесь]()
Ответ 7
Простой способ решить эту проблему аутентификации - это украсть токен аутентификации с помощью Fiddler.
Шаги
- Запустите скрипач и браузер.
- Перейдите в браузер, чтобы открыть веб-приложение (веб-сайт), и выполните
требуемая аутентификация.
- Откройте Fiddler и нажмите на запрос HTTP-страницы HTTP 200.
![Захват значения cookie с помощью Fiddler]()
- На правой панели, из заголовков запроса, скопируйте заголовок cookie
значение параметра.
![введите описание изображения здесь]()
- Откройте клиент REST и нажмите на вкладку "Форма заголовка" и предоставьте
cookie с клипа.
Нажмите кнопку SEND, и она должна получить результаты.
Ответ 8
С последним ARC для запроса GET с аутентификацией необходимо добавить
исходный заголовок с именем Authorization: authtoken.
Найдите снимок экрана Получить запрос с параметрами проверки подлинности и запроса
Чтобы добавить параметр запроса, нажмите на стрелку вниз в левой части окна URL.
Ответ 9
Клиент Restlet - самый популярный клиент, доступный как расширение Chrome. If предоставляет элегантный интерфейс для создания и выполнения как отдельных API-запросов, так и сложных сценариев. Проверьте здесь для более подробной информации.