在不截断键/值对的情况下启动 URL

  • 本文关键字:情况下 启动 URL ruby
  • 更新时间 :
  • 英文 :


>有谁知道如何获取具有多个键值对的完整 url 以在浏览器中打开?我正在自动打开一堆 url,它们在第一个键/值对之后启动时都被截断。 见下文:

我正在运行:

system("open https://someradurl.awesaome.com/approvals?code=guid&context=anotherguid")

但是在浏览器中打开的是:

https://someradurl.awesaome.com/approvals?code=guid

如您所见,它在启动时剥离了上下文和任何其他附加键。

我知道我可以使用 launchy gem 来实现这一点,而且这很有效,但我正在寻找 Ruby 的原生解决方案。我还想了解为什么系统("开放"(不起作用。

帮助将不胜感激。 我已经为此点头大约一个星期了。

我正在运行一台 Mac:ruby 2.4.1p111 (2017-03-22 修订版 58053( [x86_64-darwin16] 如果有帮助的话。

您希望将

URL 括在命令中,否则如您所见,& 之后的任何内容都会被去除为 & 是大多数 shell 中的运算符字符。由于该命令已经是双引号中的字符串,因此您可以使用转义的双引号在命令中使用双引号,",即 ""a string within a string"" .

尝试:

system("open "https://someradurl.awesaome.com/approvals?code=guid&context=anotherguid"")

希望对您有所帮助!

TLDR - 链接应括在单引号中

system("xdg-open 'https://someradurl.awesaome.com/approvals?code=guid&context=anotherguid'")


而不是open使用xdg-open

从xdg开放man page

EXAMPLES
           xdg-open 'http://www.freedesktop.org/'
       Opens the freedesktop.org website in the user's default browser.
           xdg-open /tmp/foobar.png
       Opens the PNG image file /tmp/foobar.png in the user's default image viewing
       application.

这不是 Ruby 特有的问题。

相关内容

最新更新