【问题标题】:convert curl PUT to ruby net:http将 curl PUT 转换为 ruby​​ net:http
【发布时间】:2018-11-09 16:58:51
【问题描述】:

我搜索了整个互联网并阅读了https://ruby-doc.org/stdlib-2.4.2/libdoc/net/http/rdoc/Net/HTTP.html

我仍然无法获得将以下 curl 命令转换为 ruby​​ 的正确语法。我会为您省去我尝试过的所有不同方式。谁能给我一个例子来说明这在 Ruby 中应该是什么样子?

curl -k -s -H "Accept: application/json" -H "Content-Type:application/json" -X PUT --data '{"name": "anonymous", "password": "obfuscated"}' https://some.domain/repository/npm/-/user/org.couchdb.user:anonymous

我看到的所有例子都是 POST 而不是 PUT

【问题讨论】:

    标签: ruby rest https net-http


    【解决方案1】:

    通过 Postman 转换。

    require 'uri'
    require 'net/http'
    
    url = URI("https://some.domain/repository/npm/-/user/org.couchdb.user:anonymous")
    
    http = Net::HTTP.new(url.host, url.port)
    
    request = Net::HTTP::Put.new(url)
    request["Accept"] = 'application/json'
    request["Content-Type"] = 'application/json'
    request["Cache-Control"] = 'no-cache'
    request["Postman-Token"] = '9e3622cd-fda5-458d-2521-325849546ef7'
    request.body = "{\"name\": \"anonymous\", \"password\": \"obfuscated\"}"
    
    response = http.request(request)
    puts response.read_body
    

    【讨论】:

    • 谢谢。我还必须设置 http.use_ssl = true。将我引向邮递员的奖励积分!
    猜你喜欢
    • 2019-08-07
    • 1970-01-01
    • 2021-12-05
    • 1970-01-01
    • 2018-09-06
    • 1970-01-01
    • 1970-01-01
    • 2020-04-29
    • 1970-01-01
    相关资源
    最近更新 更多