如何解决在 ruby 中使用 'net/http' 时的 HTTP 临时重定向错误?

How to solve HTTP Temporary Redirect error in using 'net/http' in ruby?

以下代码不断给我 #<Net::HTTPTemporaryRedirect:0x00000001e8cc58> 错误。我试图查看 ,但没有用。

require 'uri'
require 'net/http'
require 'json'
uri = URI.parse("https://api.travis-ci.org/repo/shahsaurabh0605%2FRuby-Docker/requests")
https = Net::HTTP.new(uri.host, uri.port)
https.use_ssl = true
output = `travis token --org`
request = Net::HTTP::Post.new(uri.path)
request["Content-Type"] = 'application/json'
request["Accept"] = 'application/json'
request["Travis-API-Version"] = '3'
request["Authorization"] = 'token '+output
request.body = {'request' => {'branch' => 'master'}}.to_json
response = https.request(request)
puts response

PS:如果我删除输出变量并将命令行输出粘贴到 request["Authorization"] 中,我就会成功。奇怪?

您是否检查过它重定向到哪里,以及 headers 它 returns 的其他哪些地方?

travis token --org 是否可能包含您必须删除的换行符?

如果这还不能解决问题,您可以粘贴 response.inspect 吗?