C# 在C中通过基本身份验证对URL进行静默身份验证

C# 在C中通过基本身份验证对URL进行静默身份验证,c#,C#,我需要构建一个C应用程序,它接受一个特定的URL作为输入,并将所有文本的网页加载到一个字符串中。困难在于,此URL需要基本身份验证才能加载页面。我需要将凭据硬编码到应用程序中;我不能让用户自己输入。我认为不可能将用户名和p/w作为URL的一部分传入。有没有一种方法可以用C无声地处理这个问题 以下是如何在不需要身份验证的情况下加载页面的基本方式: static void Main(string[] args) { if (args.Length == 0) return;

我需要构建一个C应用程序,它接受一个特定的URL作为输入,并将所有文本的网页加载到一个字符串中。困难在于,此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);
}
只是Web服务器请求中的一个头。添加授权标头以及正确的值,就可以了

以下是该标题的示例:

Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
“基本”是必需的,因为您要使用基本身份验证 QWxhZGRpbjpvcGVuIHNlc2FtZQ==是username:password的Base64表示形式,在本例中为Aladdin:open

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


什么样的认证?如果它是通用http身份验证,您可以始终启用URL身份验证,并将用户名/密码传递到URL中。比如:什么技术,WCF,ASP.NET,桌面???-我相信它要求基本的身份验证,但是用户名:密码@[URL]不起作用。-我正在.NET中编写应用程序。web服务器是McAfee ePolicy Orchestrator,我相信它是Apache/Tomcathanks-您是否碰巧有一个代码示例显示了它的用途?我用一些示例代码更新了我的问题,这些示例代码基本上显示了我正在尝试做什么。@MikeBruno:更新的答案,请检查。
webclient.Credentials = new NetworkCredential(userName, password);