0

URLを投稿して、github.comに新しい要点を作成しようとしています。私は C# でこれを実行しましたが、正常に動作しますが、Ruby on Rails でレプリケートしようとすると、投稿が機能しないようです。投稿が受け入れられなかったことを示す要点/新しい 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 に答える