2

これは、リクエストを作成して への応答を出力console appできる を作成する最初の試みです。 HTTP GETconsole

これまでのところ、コードは機能しURIsますが、username/password.

私の最終的な目的は、特定のアクションを実行するためのトリガーとしてリクエストcloud/hosting APIを受け入れるを使用することです。そのため、これには a を使用する必要があります。HTTP GETusername/password

using System;
using System.Net;
using System.IO;

namespace HttpTestProject {

    class Program {

        static void Main(string[] args) {

            Uri uri = new Uri("http://www.google.com");
            string username = "asdf";
            string password = "asdf";

            NetworkCredential cred = new NetworkCredential(username, password);
            CredentialCache cache = new CredentialCache();
            cache.Add(uri, "Basic", cred);

            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            Stream resStream = response.GetResponseStream();

            StreamReader reader = new StreamReader(resStream);
            string text = reader.ReadToEnd();

            Console.WriteLine(text);
            Console.ReadLine();

        }

    }

}
4

1 に答える 1

11

チャレンジを待たずに基本認証をリクエストに追加する必要がある場合は、ヘッダーを手動で追加できます。

var request = WebRequest.Create("http://myserver.com/service");
string authInfo = userName + ":" + userPassword;
authInfo = Convert.ToBase64String(Encoding.Default.GetBytes(authInfo));

//like this:
request.Headers["Authorization"] = "Basic " + authInfo;

var response = request.GetResponse();
于 2013-01-10T15:22:54.803 に答える