我试图发送一个API调用给领事使用一个红宝石脚本,我有一个命令,应该接近我的需要,但我不能让其余的工作。
RestClient::Request.execute(method: :get, url: path, timeout: 10, headers: {params: {"tag": tag, "X-Consul-Token" => encode_auth_token}})我很需要这个电话就像我打的那样
curl --header "X-Consul-Token: <my token>" <my path>?tag=tag,其中?tag=tag中的最后一个标记是一个变量,令牌也是一个变量。
发布于 2018-12-05 14:36:03
您非常接近,现在这对您不起作用,因为"X-Consul-Token" => 'AUTH_TOKEN'被看作是一个url参数,而不是一个头。
req.url
#=> "http://example.com?tag=tag&X-Consul-Token=AUTH_TOKEN"
req.headers
#=> {}要解决这个问题,只需要将params和其他标头标记分开:
req= RestClient::Request.new(
method: :get,
url: 'http://example.com/',
timeout: 10,
headers: {params: {tag: 'tag'},
"X-Consul-Token" => 'AUTH_TOKEN'}) #notice outside of params
req.url
#=> "http://example.com?tag=tag"
req.headers
#=> {"X-Consul-Token"=>"AUTH_TOKEN"}https://stackoverflow.com/questions/53633375
复制相似问题