【发布时间】:2018-09-07 17:54:07
【问题描述】:
我需要 POST 到 API,这需要请求中的标头 "Timestamp",其值必须是整数(从纪元开始的当前时间为整数)。
我尝试使用HTTParty 和Net::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
它在标头值上调用strip,这会引发错误,因为您不能在整数上调用strip。
有人知道如何在请求标头中传递整数吗?
【问题讨论】:
-
你能给出更完整的堆栈跟踪吗?仅从错误行很难推断出很多内容。
-
你的问题只是句法上的。
Time.now.to_i.to_s会成功的。 -
@Sean 堆栈跟踪没有其他内容。这不是我的 API,所以我看不到另一端发生了什么我得到的只是 #
-
@JoshBrody 我试过 .to_s 但不幸的是没有运气。如果这样做,他们会以“检测到重放攻击”的错误回击我,它必须是整数而不是字符串
-
您不能在标头中发送整数。 tools.ietf.org/html/rfc7230#section-3.2
标签: ruby-on-rails ruby httparty net-http