0

特定のURLを入力として受け入れ、Webページ(すべてテキスト)を文字列にロードするC#アプリケーションを構築する必要があります。難しいのは、このURLがページをロードするために基本認証を必要とすることです。クレデンシャルをアプリにハードコーディングする必要があります。ユーザーに自分で入力させることはできません。URLの一部としてユーザー名とp/wを渡すことはできないと思います。これを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

基本認証は、Webサーバーへの要求の単なるヘッダーです。Authorization正しい値と一緒にヘッダーを追加すれば、問題ありません。

以下は、そのヘッダーの例です。

Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==

Basic基本認証を使用するために必要なのは、 username:password
QWxhZGRpbjpvcGVuIHNlc2FtZQ==のBase64表現です。この場合はAladdin:open sesame

クラスを使用する場合WebClient、そのヘッダーを自分で作成する必要はありません。:Credentialsを呼び出す前にプロパティを使用できます。DownloadString

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