Подтвердить что ты не робот

Используйте 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
4b9b3361

Ответ 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 все, что мне нужно было сделать, это проверить параметр "Автоматическая проверка подлинности", который находится в меню "Правила".