如果我们尝试从Go打开给定的URL,则非常简单,如下面的代码所示(对于mac):
exec.Command("open", "https://google.com").Run()
但是,如果URL具有参数,我们如何做同样的事情呢?
例如,如果我们尝试打开一个Facebook登录网址:“https://www.facebook.com/v11.0/dialog/oauth?client_id=123456&redirect_uri=https://example/com”,则该命令失败,退出状态为1。
即使我们为特殊字符 ?、& & 和 = 包含反斜杠也是如此。网址将更改为 。https://www.facebook.com/v11.0/dialog/oauth\?client_id\=123456\&redirect_uri\=https://example/com
如果我们使用,上面的URL将在默认浏览器中打开
open https://www.facebook.com/v11.0/dialog/oauth\?client_id\=123456\&redirect_uri\=https://example/com
终端中的命令。但是当从Go这样做时,它会失败!
有没有办法从Go做同样的事情?
是的,可以使用 来完成。但这不会打开默认浏览器,这是用户最有可能登录的位置。exec.Command("open", "-a", "safari", url)
有只小跳蛙
MMTTMM
相关分类