代码之家  ›  专栏  ›  技术社区  ›  Gaurav Ojha

在厨师食谱中将curl请求转换为http_请求

  •  0
  • Gaurav Ojha  · 技术社区  · 6 年前

    有人能帮我转换一下吗 cURL 向A请求 http_request .

    curl -X POST -u admin:admin -F backup=@'/tmp/backup2.xml' -v #{sonarqube_rest_uri}/qualityprofiles/restore 
    

    我的vagrant box的/tmp文件夹中有backup2.xml。我可以通过编写bash脚本来发送请求,但我希望使用 HTTP请求 资源。

    1 回复  |  直到 6 年前
        1
  •  0
  •   Brandon Miller    6 年前

    您可以尝试以下操作:

    http_request 'Post backup xml' do
      headers ({
        'Content-Type' => 'multipart/form-data',
        'AUTHORIZATION' => "Basic #{Base64.encode64('admin:admin')}"
      })
      action :post
      url "#{sonarqube_rest_uri}/qualityprofiles/restore"
      message ::File.read("/tmp/backup2.xml")
    end
    

    这个 -F 标志表示您需要 multipart/form-data 标题。您还需要授权头 -u admin:admin 这是厨师长的拿手菜 example 的。操作和URL是非常直接的。最后,以消息的形式读取文件的内容 ::File.read .

    然而,一个 similar question 关于 多部分/表单数据 内容类型建议此类型的内容可能不适用于 http_request . 不过,希望这能帮助你理解如何 curl 向A请求 HTTP请求