要刷新Redmine,我需要SVN从我们的post-commit钩子ping我们的Redmine安装.我们的post-commit钩子是一个生成电子邮件的Ruby脚本.我想插入一个电话这样做:
curl --insecure https://redmineserver+webappkey
此调用从命令行工作,但当我尝试这样做时:
#!/usr/bin/ruby -w
REFRESH_DRADIS_URL = "https://redmineserver+webappkey"
system("/usr/bin/curl", "--insecure", "#{REFRESH_DRADIS_URL}")
Run Code Online (Sandbox Code Playgroud)
它不起作用.我如何在ruby中执行此操作?我用Google搜索了'ruby system curl',但我只是有一堆链接将curl整合到ruby中(这不是我感兴趣的).
有很多方法
REFRESH_DRADIS_URL = "https://redmineserver+webappkey"
result = `/usr/bin/curl --insecure #{REFRESH_DRADIS_URL}`
Run Code Online (Sandbox Code Playgroud)
但我认为你根本不必使用卷曲.试试这个
require 'open-uri'
open(REFRESH_DRADIS_URL)
Run Code Online (Sandbox Code Playgroud)
如果证书无效,那么它会变得更复杂一些
require 'net/https'
http = Net::HTTP.new("amazon.com", 443)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
resp, data = http.get("/")
Run Code Online (Sandbox Code Playgroud)
对于这样一个简单的问题,我不会费心去花钱curl,我会简单地做
require 'net/https'
http = Net::HTTP.new('redmineserver+webappkey', 443)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
http.get('/')
Run Code Online (Sandbox Code Playgroud)
对于更复杂的问题,我仍然不会使用 Ruby 绑定curl,而是使用众多 Ruby 绑定之一libcurl。
| 归档时间: |
|
| 查看次数: |
11409 次 |
| 最近记录: |