問題なく動作するWebAPIがあります。ローカルでテストし、サーバーに展開し、IISでこのサービスを構成して基本認証を使用しました。私は自分のサービスを閲覧することができ、私が期待する認証チャレンジを受け取り、すべてがうまくいきます!今、私はこれをテストするためにFiddlerを使用したいのですが、特定のURLに対してPOSTを作成しましたが、401(Unauthorized)エラーが発生しました。そこで、リクエストヘッダーにbase64文字列を追加することにしましたが、500エラーが発生しています。
私が知りたいのは、リクエストヘッダーが正しいように見えますか?私は明らかに、認証チャレンジのusername:passwordという形式を含むホストとbase64文字列を難読化するつもりです。
User-Agent: Fiddler
Host: xxx.xxx.xxx.xxx:xxxx
Content-Length: 185
Content-Type: text/json
Authorization: Basic jskadjfhlksadjhdflkjhiu9813ryiu34
FiddlerにはBase64を実行するツールがあります。文字列username:passwordを作成し、[ツール]-> [TextWizard]に移動して、ユーザー名とパスワードのコンボを入力し、ToBase64を選択します。これをAuthorizationヘッダーにコピーして貼り付ければ、準備完了です。
AlexGadは正しい。 ToBase64エンコードが作成されたら、リクエストの作成中にヘッダーの下に次の行を追加します。
Authorization: Basic [encoded_value]
リクエストを実行します、それは動作するはずです! :)
Fiddlerの新しいバージョン(v4.6.20172.31233でテスト済み)は、必要なAuthorization
ヘッダーを作成して追加します<自動的に Composerでユーザー名とパスワードを指定した場合次のようなURLフィールド:
https://SomeUser:SomePass@sitename
実行すると、これはURLからそれを取り除き、次のようなHTTPヘッダーに変わります。
Authorization: Basic U29tZVVzZXI6U29tZVBhc3M=
私はこれが古い投稿であることを知っていますが、最初にこれを行う方法を見ていたとき、私はこの投稿に出会い、それが答えであることを知っていましたが、資格情報をthe睡状態で区切る必要があるなどのことはまだ知りませんでした。 JSONのPOSTのためにまとめたFiddlerのメモがここにいる人の助けになるかもしれません。
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}]