繁体   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