0

のために動作します。コードはすべてのGET要求に対して正常に動作しますが、POST要求に対して401が不正になります。ASP.NET認証(NTLM/BASIC)は、PUTのために失敗したが、私は認証(NTLM/BASIC)でGET/POSTリクエストを作成しようとしているGET

マイコード:

NetworkCredential credential = new NetworkCredential(user, password); 
var myCache = new CredentialCache 
{ 
    { uri, auth, credential } // auth = "BASIC" or "NTLM" 
}; 

var handler = new HttpClientHandler 
{ 
    AllowAutoRedirect = true, 
    PreAuthenticate = true, 
    Credentials = myCache 
}; 
HttpClient httpClient = new HttpClient(handler); 
... 
StringContent content = new StringContent(bodyText); 
httpClient.PostAsync(uri, content).Result; // returns 401 
+0

POSTリクエストをサーバーできますか?あなたは、サーバーへのアクセスを –

+0

@AlekDepler、はい、サーバはPOSTリクエストが –

答えて

0

PUT要求に実行されているコードは何ですか?チャンスはあなたが使用しているユーザー名/パスワードの組み合わせが実際にリソースへの書き込みアクセス権を持っていないので、あなたが不正なエラーを受信して​​いることです。

あなたはPUTコールを受信して​​いるコードへのアクセス権を持っている場合、への書き込みしようとしている何のファイル/フォルダをご確認ください。そうでない場合は、そのサービスを所有する人々に連絡して、なぜそれが失敗しているのかを聞いてください。

+0

私はPUT要求を受信するコードへのアクセス権を持っていますが、 –

+0

を必要な資格情報が100%正確であるとしたアクセスレベルいないことができますを持っていますか? IISの場合は、失敗した要求トレースを使用して、エラーの内容を確認できます。 Apacheの場合は、エラーログファイルを確認してください。 – netniV

関連する問題