C# HttpClient在标头上添加API密钥
你好!我正在使用一个使用API密钥的API。我正在使用C# HttpClient在标头上添加API密钥,c#,httpclient,C#,Httpclient,你好!我正在使用一个使用API密钥的API。我正在使用 HttpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("APIKEY", Token); 但无论何时我使用它,它似乎都会返回一个内部服务器错误。但是,如果我尝试使用HttpClient.DefaultRequestHeaders.Add(“APIKey”,Token)api似乎没有返回内部服务器错误。有什么方法可以做到这一点吗?您首先需
HttpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("APIKEY", Token);
但无论何时我使用它,它似乎都会返回一个内部服务器错误。但是,如果我尝试使用
HttpClient.DefaultRequestHeaders.Add(“APIKey”,Token)代码>api似乎没有返回内部服务器错误。有什么方法可以做到这一点吗?您首先需要更好地了解您使用的API
第一次检查:
使用HttpClient.DefaultRequestHeaders.Add(“APIKey”,Token)时代码>-这是否返回预期的响应?在某些情况下,web服务器可能返回http状态代码200(或指示成功的其他代码),同时提供错误页面
如果在pt上。1如果您得到一个有效且预期的响应,那么您可能需要检查API是否真正需要“授权”头或一个名为“APIKey”的头—某些API可能不使用标准的“授权”头,而是使用自定义头
首先,您需要更好地理解您使用的API
第一次检查:
使用HttpClient.DefaultRequestHeaders.Add(“APIKey”,Token)时代码>-这是否返回预期的响应?在某些情况下,web服务器可能返回http状态代码200(或指示成功的其他代码),同时提供错误页面
如果在pt上。1如果您得到一个有效且预期的响应,那么您可能需要检查API是否真正需要“授权”头或一个名为“APIKey”的头—某些API可能不使用标准的“授权”头,而是使用自定义头
HttpClient.DefaultRequestHeaders.Authorization
调用设置Authentication
头值,而在第二种情况下,您使用API key
名称设置头
身份验证标头的格式如下:
,其中scheme是您使用的身份验证类型(基本、承载等)。HttpClient.DefaultRequestHeaders.Authorization
调用设置身份验证
标头值,而在第二种情况下,您使用API密钥
名称设置标头
身份验证标头的格式如下:
,其中scheme是您使用的身份验证类型(基本、承载等).检查文档,查看api是否需要标头授权:APIKEY
或APIKEY:
检查文档,查看api是否需要标头授权:APIKEY
或APIKEY:
var checkApiKeyExists=request.Headers.TryGetValues(“apike”,out lsHeaders)代码>显然,这就是api获取api密钥值的方式。我也不明白Postman是如何接受授权头的,api密钥是密钥,值是令牌。但它不适用于httpclientvar checkApiKeyExists=request.Headers.TryGetValues(“apiKey”,out lsHeaders)代码>显然,这就是api获取api密钥值的方式。我也不明白Postman是如何接受授权头的,api密钥是密钥,值是令牌。但它不适用于httpclient