无法识别 HTTP 标头字段
HTTP Header Field not recognised
我正在尝试利用boost::beast通过HTTP与服务器进行通信。
我正在客户端工作,并希望发送至少包含以下标头字段的请求:"X-API-SIGNATURE"。
我正在按如下方式创建请求:
http::request<http::dynamic_body> request;
request.version(11);
request.method(http::verb::get);
request.target("/test");
request.set(http::field::host, host_);
request.set("X-API-KEY", key_);
request.set("X-API-SIGNATURE", signature_);
int count_Header_Field_X_API_SIGNATUR = request.count("X-API-SIGNATURE"); // This is 1.
int count_Header_Field_X_API_Bla = request.count("X-API-BLA"); // This is 0.
我按如下方式发送请求:
boost::beast::http::async_write(
*socket_,
request,
std::bind(
&Testclass::on_write,
shared_from_this(),
std::placeholders::_1,
std::placeholders::_2));
}
之后,我收到来自服务器的响应,报告我一个错误:
{"errors":[{"message":"Missing header: X-API-SIGNATURE","code":1,"field":"X-API-SIGNATURE"}],"credits":8}
我不明白为什么服务器无法识别我之前插入到请求中的"X-API 签名"标头字段。
我做错了什么?
更新:看起来您根据HTTP协议正确执行了所有操作,但是服务器不喜欢您的请求的特定内容
signature_
的价值是什么?
以下语句的输出是什么?
std::cout << request["X-Api-Signature"] << "n";
相关文章:
- 将结构字段的类型展开为可变模板参数
- 将位字段导出到数组
- 为了方便起见,我应该避免公开私有字段变量吗
- 当字段可以为null时,如何使用C++接口在Avro中写入数据
- 在java中读取c++字节的位字段
- 链接器找不到在虚拟类 c++ 中访问的静态字段的符号
- 私有字段对象与私有继承?
- 声明没有默认构造函数的字段
- C++内存模型和位字段的最大序列
- 声明为无效的变量或字段'...' Ardunio 编译器上的错误
- 如何在QByteArray中放置和检索位字段而不会感到痛苦?
- C++ win32 如何使密码字段可选并启用复制和粘贴?
- 如何通过UDP接收QByteArray并将其解析为位字段结构?
- 仅匹配集合中的某些字段
- 结构字段名称与 GDB 中的 STL 数组冲突
- 如何使用位字段将数据从二进制文件复制到结构中?
- 结构体和类的不同大小(),彼此具有相同的字段类型
- 无法识别 HTTP 标头字段
- 如何使用libcurl提取Location:HTTP头字段
- HTTP Post报头字段libcurl