0

我需要构建一个接受特定 URL 作为输入并将网页(全是文本)加载到字符串中的 C# 应用程序。困难在于该 URL 需要基本身份验证才能加载页面。我需要将凭据硬编码到应用程序中;我不能让用户自己输入。我不相信可以将用户名和 p/w 作为 URL 的一部分传递。有没有办法用 C# 静默处理这个问题?

如果不需要身份验证,以下是在非常基本的术语中加载页面的方法:

static void Main(string[] args)
{
    if (args.Length == 0)
        return;

    WebClient webclient = new WebClient();
    string output = webclient.DownloadString(args[0]);
    Console.WriteLine(output);
}
4

1 回答 1

7

基本身份验证只是您对网络服务器的请求中的一个标头。添加Authorization标题和正确的值,你很好。

以下是该标头的示例:

Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==

Basic是必需的,因为您要使用基本身份验证
QWxhZGRpbjpvcGVuIHNlc2FtZQ==username:password的 Base64 表示,在这种情况下Aladdin:open sesame

使用WebClient该类时,您不必自己编写该标头,您可以Credentials在调用之前使用该属性DownloadString

webclient.Credentials = new NetworkCredential(userName, password);
于 2013-01-07T15:05:59.513 回答