トークンを取得するには、UserName
とPassword
をheader-keyとして渡す必要があります。私は郵便配達でGET
メソッドをテストし、うまくいきました。しかし、私はUserName
とPassword
をヘッダキーとして送るのが難しいので、私のC#コードで同じことをすることはできません。ヘッダー(REST API)のユーザー名+パスワードでGetAsyncを使用
私のコードでは、PostAsync
(コードを参照)を使用しましたが、(result.IsSuccessStatusCode)
は常にfalse
だったので機能しませんでした。だから私はGetAsync
と一緒に動かなければならないと思う。しかし、私はUserName
とPassword
をヘッダ値としてどのように渡すのか分かりません。
マイLoginVm
だけですべてのヘルプは高く評価されUserName
とPassword
public static async Task<Token> Authentication(LoginVm vm) {
Token token = null;
string requestJson = JsonConvert.SerializeObject(vm);
var client = new HttpClient();
//How to use GetAsync instead?
var result = client.PostAsync(new Uri("http://x.com/.../login"),
new StringContent(requestJson, Encoding.UTF8, "application/json")).Result;
if (result.IsSuccessStatusCode) {
string json = await result.Content.ReadAsStringAsync();
if (!string.IsNullOrEmpty(json)) {
token = JsonConvert.DeserializeObject<Token>(json);
}
}
return token;
}
含まれています。このような
あなたのメソッドは非同期なので、 'var result =().Result'の代わりに' var result = await() 'を実行できます。 –