Skip to main content
 首页 » 编程设计

c#之连接到受密码保护的 Web 目录

2024年02月13日32dyllove98

在我的程序中,我试图访问一个受密码保护的网站(在浏览器中打开时,会出现一个像图片上这样的弹出窗口,要求用户登录(注意:这只是找到的一张图片在谷歌上,而不是我正在使用的实际网站))。

现在,我不需要完全打开这个站点(实际上它是子目录)或下载它或任何东西,我只是想验证登录信息。假设应用程序中有两个文本框,与浏览器中弹出的文本框类似,我想验证输入的用户名和密码是否正确。知道怎么做吗? 我的想法是尝试把它当作一个 FTP 文件,因为这是我能弄清楚如何在代码中设置登录名和密码的唯一方法,而且我预计如果凭据不正确,程序会丢弃异常或其他东西,但它只是通过这段代码而没有结果。

感谢您的帮助

请您参考如下方法:

您可以尝试对 url 执行 http 请求,并在请求中提供凭据。如果响应是状态代码 200 (OK) 则一切正常。如果响应是状态代码 401(未授权),则凭据不正确:

// create request 
var request = (HttpWebRequest)WebRequest.Create("http://www.google.com"); 
request.Credentials = new NetworkCredential("Username", "Password"); 
 
try 
{ 
    // get response 
    var response = (HttpWebResponse)request.GetResponse(); 
    var statusCode = response.StatusCode; 
 
    // verify response 
    if (statusCode == HttpStatusCode.OK) 
    { 
        // login was ok 
    } 
} 
catch (WebException ex) 
{ 
    if (((HttpWebResponse) ex.Response).StatusCode == HttpStatusCode.Unauthorized) 
    { 
        // unauthorized 
    } 
}