Используйте Fiddler с базовой аутентификацией для доступа к RESTful WebAPI
У меня есть WebAPI, который работает без проблем. Я протестировал локально и развернулся на моем сервере и настроил эту службу в IIS для использования базовой проверки подлинности. Я могу перейти к моей службе, и я получаю вызов аутентификации, который я ожидаю, и все работает плавно! Теперь я хочу использовать Fiddler, чтобы проверить это, и я построил POST для определенного URL-адреса, и я получил ошибку 401 (Unauthorized). Поэтому я решил добавить строку base64 в свой заголовок запроса, и теперь я получаю ошибку 500.
Что я хотел бы знать, правильно ли выглядит мой заголовок запроса? Я, очевидно, собираюсь запутать мою строку Host и base64, которая содержит имя пользователя: пароль для проверки подлинности.
User-Agent: Fiddler
Host: xxx.xxx.xxx.xxx:xxxx
Content-Length: 185
Content-Type: text/json
Authorization: Basic jskadjfhlksadjhdflkjhiu9813ryiu34
Ответы
Ответ 1
У Fiddler есть инструмент, который делает Base64 для вас. Просто создайте свою строку: имя пользователя: пароль, а затем перейдите в Инструменты → TextWizard и введите комбинацию паролей имени пользователя и выберите ToBase64. Скопируйте и вставьте это в свой заголовок авторизации, и вам должно быть хорошо идти.
Ответ 2
AlexGad прав. После создания кодировки ToBase64 под заголовком при составлении запроса добавьте следующую строку:
Authorization: Basic [encoded_value]
Теперь выполните запрос, он должен работать!:)
Ответ 3
Я знаю, что это более старая должность, но когда я сначала смотрел, как это сделать, я столкнулся с этим сообщением и знал, что это был ответ, но я до сих пор не знал таких вещей, как учетные данные должны были быть разделены комой и т.д. Итак, на всякий случай это может помочь кому-то здесь, мои заметки для Fiddler, которые я собрал для JSON POST.
First you need to Base64 encode your "username:password"
• Go to Tools | Text Wizard | To Base64 in dropdown
Post a message in the Composer tab
• Change the type to POST in the dropdown.
• Put in the URL
• Add the following to the top header section.
○ Authorization: Basic ReplaceWithYourEncodedCredtials=
○ Content-Type: application/json; charset=utf-8
• Add some JSON content to the body
○ [{"Address1":null,"Address2":null,"BirthDate":"1967-10-06T00:00:00","City":null,"CompanyHireDate":"2011-06-03T00:00:00","EmailAddress":"[email protected]","EmployeeNumber":"112233","FirstName":"JOHN","LastName":"DOE","PhoneNumber":null,"State":null,"UserName":"JDoe","ZipCode":null}]
Ответ 4
Новые версии Fiddler (я протестировал v4.6.20172.31233) создадут и добавят необходимый заголовок Authorization
для вас автоматически, если вы укажете имя пользователя и пароль в поле URL-адреса композитора, например:
https://SomeUser:[email protected]
После выполнения этого он удаляет его из URL-адреса и превращается в HTTP-заголовок, например:
Authorization: Basic U29tZVVzZXI6U29tZVBhc3M=
Ответ 5
Я обнаружил, что в Fiddler 4 все, что мне нужно было сделать, это проверить параметр "Автоматическая проверка подлинности", который находится в меню "Правила".