簡體   English   中英

調用aspx頁的EXE程序獲取:401-未經授權:由於憑據無效,訪問被拒絕

[英]EXE program calling aspx page gets: 401 - Unauthorized: Access is denied due to invalid credentials

我正在創建一個使用HttpClient調用URL的可執行程序。 我嘗試使用DefaultNetworkCredentials因為我不知道服務器的用戶ID和密碼。 以下代碼在我的本地計算機上成功運行,但是在部署到服務器時會出錯。

在此處輸入圖片說明

我的代碼:

HttpClientHandler authtHandler = new HttpClientHandler()
{
    Credentials = CredentialCache.DefaultNetworkCredentials
};

// Call the URL                    
using (HttpClient httpClient = new HttpClient(authtHandler))
{
    var formContent = new FormUrlEncodedContent(new[]
    {
        new KeyValuePair<string, string>("testingkey", "testingvalue")
    });

    // Make it sync instead of async by using .Result
    var result = httpClient.PostAsync(url, formContent).Result;

    // Get the content, for verification 
    var content = result.Content;
}

DefaultNetworkCredentials是運行應用程序的當前安全上下文的身份驗證憑據。 對於客戶端應用程序,這些通常是運行該應用程序的用戶的Windows憑據。

如果用戶沒有使用HttpClient的URL的權限,則將出現錯誤。 為了讓你工作

  1. 要么假冒可以訪問該應用程序的用戶,要么
  2. 使用系統定義的帳戶(如網絡服務憑據)運行EXE,並確保可以使用HTTP來訪問HTTP應用程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM