使用 api 密钥使用 Web API 时,出现以下错误 - 远程服务器返回错误:(403) Forbidden
Posted
技术标签:
【中文标题】使用 api 密钥使用 Web API 时,出现以下错误 - 远程服务器返回错误:(403) Forbidden【英文标题】:While consuming web API with api key, it gives following error - The remote server returned an error: (403) Forbidden 【发布时间】:2019-05-15 10:23:11 【问题描述】:使用 api 密钥使用 Web API 时,我收到此错误
远程服务器返回错误:(403) Forbidden。
这是我的代码:
private void Getdata()
var request = System.Net.WebRequest.Create("my api url");
request.Method = "GET";
request.Headers.Add("Authorization", "x-api-key" "mykeyvalue");
request.ContentType = "application/json";
try
using (var response = request.GetResponse())
using (var stream = response.GetResponseStream())
var reader = new StreamReader(stream, System.Text.Encoding.UTF8);
txtresult.Text = reader.ToString();
catch (System.Net.WebException e)
txtresult.Text = e.Message;
请帮我解决这个问题
【问题讨论】:
这是服务器问题,很可能是您的授权。我们帮不了你。如错误所述,服务器禁止访问(因此403 Forbidden)。 感谢@NikxDa 提供信息。请让我知道我的代码实现是正确的还是缺少什么? 你确定标题是正确的吗?因为"x-api-key" "mykeyvalue"
生成x-api-keymykeyvalue
谢谢@mjcs。如何在 header 中添加 API 密钥授权?
@Abhijeet 您将不得不检查 API 服务器的文档,但我的猜测是它类似于 request.Headers.Add("x-api-key", "mykeyvalue");
【参考方案1】:
您需要将添加标题更改为:
request.Headers.Add("x-api-key", "mykeyvalue");
因为x-api-key
是本例中用来做API key授权的header的名字。
【讨论】:
以上是关于使用 api 密钥使用 Web API 时,出现以下错误 - 远程服务器返回错误:(403) Forbidden的主要内容,如果未能解决你的问题,请参考以下文章
仅当提供 Web API 密钥名称时才能指定 Web API 密钥