我有没有问题工作的的WebAPI。 我已在本地测试和部署到我的服务器,并配置在IIS该服务使用基本身份验证。 我能够浏览到我的服务,我收到认证挑战我期待和所有工作顺顺当当! 现在我想使用Fiddler来测试这一点,我已经建立了一个POST到特定的URL,我得到了一个401(未授权)错误。 所以我决定在我的请求头添加一个base64字符串,现在我得到一个500错误。
我想知道的是,我不会请求标题看起来是正确的? 我显然会混淆其中包含格式为username我的主机和BASE64字符串:密码验证的挑战。
User-Agent: Fiddler
Host: xxx.xxx.xxx.xxx:xxxx
Content-Length: 185
Content-Type: text/json
Authorization: Basic jskadjfhlksadjhdflkjhiu9813ryiu34
Answer 1:
菲德勒有一个工具,做的Base64编码为您服务。 只要创建你的字符串:用户名:密码,然后点击工具 - > TextWizard并输入用户名密码组合,选择ToBase64。 复制并粘贴到您的授权头,你应该是好去。
Answer 2:
AlexGad是正确的。 一旦ToBase64编码被创建,而构成该请求的标题下,添加下列行:
Authorization: Basic [encoded_value]
现在执行的请求时,它应该工作! :)
Answer 3:
提琴手的新版本(我在v4.6.20172.31233测试)将创建并添加必要的Authorization 自动标题为你,如果你指定一个像这样的作曲家URL字段的用户名和密码:
https://SomeUser:SomePass@sitename
在执行,此剥离出来的URL和变成HTTP头像:
Authorization: Basic U29tZVVzZXI6U29tZVBhc3M=
Answer 4:
我知道这是一个老的文章,但我第一次看着如何做到这一点,我碰到这篇文章,知道这是答案,但我仍然不知道的东西一样没凭据必须昏迷分离等,所以,以防万一这可能帮助别人这里有我的笔记小提琴手我放在一起的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":"myEmail@company.com","EmployeeNumber":"112233","FirstName":"JOHN","LastName":"DOE","PhoneNumber":null,"State":null,"UserName":"JDoe","ZipCode":null}]
Answer 5:
我发现,在提琴手4,所有我所要做的就是检查自动验证选项是规则菜单上。
文章来源: Use Fiddler with Basic Authentication to access RESTful WebAPI