47

私はAPIを休ませて.NET経由で呼び出すのは初めてです

API があります: https://sub.domain.com/api/operations?param=value¶m2=value

API のメモには、承認するには基本アクセス認証を使用する必要があると書かれています。

私は現在、このコードを持っています:

        WebRequest req = WebRequest.Create(@"https://sub.domain.com/api/operations?param=value&param2=value");
        req.Method = "GET";
        //req.Credentials = new NetworkCredential("username", "password");
        HttpWebResponse resp = req.GetResponse() as HttpWebResponse;

ただし、401 無許可エラーが発生します。

基本アクセス認証を使用して API 呼び出しを作成するにはどうすればよいですか?

4

3 に答える 3

67

API が HTTP Basic 認証を使用するように指示している場合は、Authorization ヘッダーをリクエストに追加する必要があります。コードを次のように変更します。

    WebRequest req = WebRequest.Create(@"https://sub.domain.com/api/operations?param=value&param2=value");
    req.Method = "GET";
    req.Headers["Authorization"] = "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes("username:password"));
    //req.Credentials = new NetworkCredential("username", "password");
    HttpWebResponse resp = req.GetResponse() as HttpWebResponse;

"username"もちろん、と"password"を正しい値に置き換えます。

于 2013-08-21T00:48:52.310 に答える