< 返回版块

65377692 发表于 2021-08-08 22:01

Tags:hyper,reqwest

请问大神们如何给http请求设置大写的headername,我在尝试hyper以及reqwest的时候,给request的headers插入值时,发现header name全部被自动转换成了小写,看官方解释是为了性能,感觉这个解释太奇葩了,怎么给header设置大写的key呢?大神们有办法么?换其他库也行(虽然我没找到其他库),比如我需要在http的header里设置AppVersion=1.0这样的kv,key中有大写字符。

评论区

写评论
作者 65377692 2021-08-09 22:06

设置过,不顶用的,进了header就已经是小写了

--
👇
kingfree: https://docs.rs/reqwest/0.11.4/reqwest/struct.ClientBuilder.html#method.http1_title_case_headers

作者 65377692 2021-08-09 22:05

既然大小写应该是不敏感的那客户端硬转小写是对着干咯,如果我是做爬虫可怎么办呀?

--
👇
7sDream: https://datatracker.ietf.org/doc/html/rfc7230#section-3.2

标准规定 HTTP Header 名称是大小写不敏感的。

如果你发现某个服务端必须接收特定大小写的 Header,那其实是服务端不符合标准,应该向服务端反馈。

kingfree 2021-08-09 21:16

https://docs.rs/reqwest/0.11.4/reqwest/struct.ClientBuilder.html#method.http1_title_case_headers

7sDream 2021-08-08 22:18

https://datatracker.ietf.org/doc/html/rfc7230#section-3.2

标准规定 HTTP Header 名称是大小写不敏感的。

如果你发现某个服务端必须接收特定大小写的 Header,那其实是服务端不符合标准,应该向服务端反馈。

1 共 4 条评论, 1 页