用用户名和密码调用rest api – 如何

我是新来的api’s并通过.NET调用它们

我有一个api: https : //sub.domain.com/api/operations? param = value & param2 = 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未经授权的错误。

我错过了什么,如何使用基本访问身份validation形成api呼叫?

如果API说要使用HTTP基本身份validation,则需要在请求中添加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"