Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# HttpClient在标头上添加API密钥_C#_Httpclient - Fatal编程技术网

C# HttpClient在标头上添加API密钥

C# HttpClient在标头上添加API密钥,c#,httpclient,C#,Httpclient,你好!我正在使用一个使用API密钥的API。我正在使用 HttpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("APIKEY", Token); 但无论何时我使用它,它似乎都会返回一个内部服务器错误。但是,如果我尝试使用HttpClient.DefaultRequestHeaders.Add(“APIKey”,Token)api似乎没有返回内部服务器错误。有什么方法可以做到这一点吗?您首先需

你好!我正在使用一个使用API密钥的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密钥是密钥,值是令牌。但它不适用于httpclient
    var checkApiKeyExists=request.Headers.TryGetValues(“apiKey”,out lsHeaders)显然,这就是api获取api密钥值的方式。我也不明白Postman是如何接受授权头的,api密钥是密钥,值是令牌。但它不适用于httpclient