第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

如何在golang中添加帶引號和斜杠的字符串

如何在golang中添加帶引號和斜杠的字符串

Go
holdtom 2022-10-17 10:11:44
我會分享一個例子我想要 golang 字符串下面的行 curl -u admin:admin -H 'Accept: application/yang-data+json' -s http://<ip>/restconf/data/ -v我寫的代碼:命令:="curl -u admin:admin -H 'Accept: application/yang-data+json' -s http://" + ip_string + "/restconf/data/ -v"err:行尾出現意外字符串。
查看完整描述

1 回答

?
一只斗牛犬

TA貢獻1784條經驗 獲得超2個贊

Line 末尾的意外字符串。


您可以使用fmt.Sprintf格式化字符串,這樣您就不必手動將其縫合在一起。我自己覺得這更容易閱讀和寫作:


fmt.Sprintf("curl -u admin:admin -H 'Accept: application/yang-data+json' -s http://%s/restconf/data/ -v", ip_string)

好像您正在嘗試創(chuàng)建一個 shell 命令來調用 Curl。比試圖逃避curlshell 的參數更好的是直接調用curl。這樣,您可以使用 Go 分隔參數,而不必擔心 shell 引用:


cmd := exec.Command("curl", 

   "-u", "admin:admin",

   "-H", "Accept: application/yang-data+json",  

   "-s", 

   fmt.Sprintf("http://%s/restconf/data/", ip_string), 

   "-v",

)

但是,如果我是你,我會使用https://pkg.go.dev/net/http提出請求并os/exec完全避免。性能和效率會更好,處理響應和任何錯誤條件將比通過curl嘗試解析輸出和處理錯誤代碼更容易。


req, err := http.NewRequest("GET", fmt.Sprintf("http://%s", source_ip), nil)

// handle err

req.Header.Add("Accept", "application/yang-data+json")

req.SetBasicAuth("admin","admin")

resp, err := client.Do(req)

// handle err!

defer resp.Body.Close()

body, err := io.ReadAll(resp.Body)

// handle err!


查看完整回答
反對 回復 2022-10-17
  • 1 回答
  • 0 關注
  • 242 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

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

公眾號

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