我正在尝试通过发布URL在github.com上创建一个新的要点。我已经在C#中完成了它并且它工作正常,但是当我尝试在rails上的ruby中复制时,帖子似乎永远不起作用我总是被重定向到gists / new URL,这表明该帖子未被接受。我认为我只是缺少一些基本的红宝石。
require 'net/https'
require 'open-uri'
url = URI.parse('https://gist.github.com/gists')
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
req = Net::HTTP::Post.new(url.path)
req.form_data = "file_name[gistfile1]=testclip.txt&description=Test Clip&file_contents[gistfile1]=This is my test clip&login=uname&token=secret"
http.start{|h| h.request(req)}['Location']
答案 0 :(得分:1)
我在这里不知所措,但我猜它与SSL验证模式有关。您需要不进行验证:
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
或给它一些东西来验证:
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_PEER
http.cert = OpenSSL::X509::Certificate.new(ca_cert)
请查看the ca_cert
method at Defunkt's Gist gem了解详情(您需要a bundle)。