gpt4 book ai didi

ruby - curl 从命令行运行,但不在 ruby​​ 脚本中运行

转载 作者:可可西里 更新时间:2023-11-01 10:07:59 26 4
gpt4 key购买 nike

以下命令(及其变体)在 mac 的终端中运行正常,在 mac 上执行的 ruby​​ 程序中运行正常,直接在 windows 命令提示符中运行正常,但是当我尝试运行时失败并出现解析错误它在 Windows 上的 ruby​​ 文件中。

curl -u"user:pwd" -d"{\"name\":\"new_repo_beepo\"}" https://api.github.com/user/repos --insecure

我试过用反引号、%x() 和 system.我也尝试过替换字符串和 json'ing 部分,但没有任何运气。据我所知,失败点在 -d"{\"name\":\"repo_name\"}" 部分,但这只是在没有它的情况下尝试命令。无论如何,在 ruby​​ 中的 Windows 命令的每个变体中,我都会收到 JSON 解析错误。

最佳答案

您是否尝试过使用 rest-client

它是一颗 gem ,工作得很好。它可能比使用 system() 更好或 %x()而且它绝对更安全(您可以在 system() 上注入(inject)恶意 bash 命令,因此需要谨慎使用)。

使用起来非常简单。只需安装 gem 并将其作为您的 ruby​​ 文件即可。

注意:如果使用 Rails,只需将它添加到您的 Gemfile(不需要在每个文件上都要求它)。

require 'rest_client'

RestClient.get 'https://api.github.com/user/repos', {params: {id: 50, foo: 'bar'}}

您还可以为 --insecure 使用一些参数SSL.

关于ruby - curl 从命令行运行,但不在 ruby​​ 脚本中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10641110/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com