请求中的 HTTParty 整数 headers

HTTParty integer in request headers

我需要POST到一个API,这需要在调用"Timestamp"的请求中有一个header,它的值必须是一个整数(当前时间从epoch 作为一个整数)。

我尝试使用 HTTPartyNet::HTTP 执行此操作,如下所示:

response = HTTParty.post(route, body: options[:body].to_json,headers: { 'Timestamp' => Time.now.to_i, 'Authorization' => "Bearer #{options[:token]}",'Content-Type' => 'application/json' })
# >> NoMethodError: undefined method `strip' for 1522273989:Integer

它在 header 值上调用 strip,这会引发错误,因为您不能在整数上调用 strip

有谁知道如何在请求 header 中传递整数?

对整数调用.to_s

response = HTTParty.post(route, body: options[:body].to_json,headers: { 'Timestamp' => Time.now.to_i.to_s, 'Authorization' => "Bearer #{options[:token]}",'Content-Type' => 'application/json' })

您不能真正在 header 中发送整数 - 它是接收端的服务器,必须从请求中转换明文 header。

Header fields are colon-separated name-value pairs in clear-text string format, terminated by a carriage return (CR) and line feed (LF) character sequence.
List of HTTP header fields - Wikipedia