亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在默認瀏覽器中打開帶有參數的 URL

在默認瀏覽器中打開帶有參數的 URL

Go
泛舟湖上清波郎朗 2022-09-26 19:43:29
如果我們嘗試從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)
查看完整描述

2 回答

?
有只小跳蛙

TA貢獻1824條經驗 獲得超8個贊

它實際上在沒有反斜杠的情況下工作。事實證明,終端中需要反斜杠,因為終端在將字符串發送到瀏覽器之前在內部轉義反斜杠。但是,如果發生 go,它只是將原始字符串發送到瀏覽器。


在 Go 中使用:


exec.Command("open", "https://www.facebook.com/v11.0/dialog/oauth?client_id=123456&redirect_uri=https://example/com")

從終端命令行:


open https://www.facebook.com/v11.0/dialog/oauth\?client_id\=123456\&redirect_uri\=https://example/com


查看完整回答
反對 回復 2022-09-26
?
MMTTMM

TA貢獻1869條經驗 獲得超4個贊

嘗試追加反斜杠(\)

exec.Command("open", "https://www.facebook.com/v11.0/dialog/oauth\\?client_id/\\=123456/\\&redirect_uri/\\=https://example/com").Run()



查看完整回答
反對 回復 2022-09-26
  • 2 回答
  • 0 關注
  • 297 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號