0

我正在尝试通过发布 URL 在 github.com 上创建一个新的要点。我已经在 C# 中完成了此操作,并且工作正常,但是当我尝试在 ruby​​ on rails 中复制时,帖子似乎永远无法正常工作,我总是被重定向到 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']
4

1 回答 1

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)

查看Defunkt 的 Gist gem中ca_cert方法以获取更多信息(您需要一个 bundle)。

于 2011-04-03T04:13:34.223 回答