自定义httpclient请求标头字符串格式

问题描述

我需要使用HTTPClient发出HTTP请求。 Web API要求我添加此格式的自定义标头:

标题:授权:consumer={consumerId}consumerToken={consumerTokenValue}

以下是代码:

string headr = "consumer=40816499,consumerToken=" + "test";
HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Clear();
            
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Add("Authorization",headr);
var response =await client.PostAsJsonAsync<remitaData>(url,remd);
var chk = await response.Content.ReadAsStringAsync();

但是我在执行时收到此错误消息:

值'consumer = 40816499,consumerToken = test'的格式无效。

解决方法

您需要在标题的开头放置一个“类型”。例如:

client.DefaultRequestHeaders.Add("Authorization","custom " + headr);

(其中字符串“ custom”由服务器定义)。

请参见https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Authorization(或

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...