那里有一个很好的,经过测试的代码,我可以用它来实现这个目的:
获取用户/通行证和Web服务(asmx页面)的地址,并检查用户/通行证是否有效。
我认为我应该使用HTTPRequest等来做到这一点,但我对该主题并不了解,导致我当前的方法无法正常工作。
如果有一个很好的代码用于此目的,我很感谢指出我。
谢谢
P.S:我的代码中没有使用DefaultCredentials。因为我希望他们输入user / pass所以现在我需要能够测试他们的用户/通行证,如果他们的凭证无效,则向他们显示正确的消息。
答案 0 :(得分:1)
您可以使用HttpWebRequest.Credentials Property(取决于网络服务身份验证)和CredentialCache Class。
还有一些代码示例(来自谷歌):
Retrieving HTTP content in .NET
将Invoking Web Service dynamically using HttpWebRequest与.Credentials
结合使用。
答案 1 :(得分:1)
public bool TestCredentials(string url, string username, string password)
{
var web = new WebClient();
web.Credentials = new NetworkCredential(username,password);
try
{
web.DownloadData(url);
return true;
}
catch (WebException ex)
{
var response = (HttpWebResponse)ex.Response;
if (response.StatusCode == HttpStatusCode.Unauthorized)
{
return false;
}
throw;
}
}