कैसे जोड़ने के लिए स्ट्रिंग के साथ उद्धरण और स्लैश में golang

0

सवाल

मैं हिस्सा हूँ एक उदाहरण

मैं चाहता हूँ कि लाइन के नीचे में 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: अप्रत्याशित स्ट्रिंग के अंत में लाइन.

go
2021-11-23 16:07:26
1

सबसे अच्छा जवाब

1

अप्रत्याशित स्ट्रिंग के अंत में लाइन.

आप उपयोग कर सकते हैं fmt.Sprintf प्रारूप करने के लिए एक स्ट्रिंग इतना है कि तुम नहीं है करने के लिए यह एक साथ सिलाई द्वारा हाथ. मैं खोजने के लिए यह आसान करने के लिए पढ़ने और लिखने, अपने आप को:

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

लगता है आप की तरह की कोशिश कर रहे हैं बनाने के लिए एक शैल कमांड आह्वान करने के लिए कर्ल. बेहतर कोशिश कर रहा से बचने के लिए अपने curl बहस के लिए खोल, आह्वान करने के लिए है curl सीधे. इस तरह आप उपयोग कर सकते हैं जाने के लिए अलग-अलग तर्कों के बारे में चिंता किए बिना खोल के हवाले से:

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!
2021-11-23 16:26:50

उत्तर के लिए धन्यवाद. लेकिन क्या बारे में झंडे -यू -एस -वी शामिल करने के लिए कैसे है कि
Pulkit Kundra

{"त्रुटि":"\पार्स"-एस http://<आईपी>/restconf/डेटा/ -v\": पहली पथ खंड में यूआरएल शामिल नहीं हो सकता पेट","हैंडलर":"पोस्ट /collect","jobID":"Collect-11-24-2021_051320","level":"error","method":"initiateConfdCollection","msg":"Getrunningconfig में विफल रहा है: बनाने के लिए अनुरोध: पार्स \"-एस http://<आईपी>/restconf/डेटा/ -v\": पहली पथ खंड में यूआरएल शामिल नहीं हो सकता पेट","समय":"2021-11-24T05:13:21Z"} {"हैंडलर":"पोस्ट /collect","jobID":"Collect-11-24-2021_051320","level":"error","method":"initiateConfdCollection","msg":"विफल करने के लिए से डेटा प्राप्त नामस्थान: <आईपी>","समय":"2021-11-24T05:13:21Z"}
Pulkit Kundra

मिल गया ऊपर त्रुटि का उपयोग करते समय pkg.जाना है.देव/नेट/http
Pulkit Kundra

यदि आप चाहते हैं के साथ जाने के लिए net/http दृष्टिकोण और आप कर रहे हैं एक त्रुटि हो रही है, सबसे अच्छा करने के लिए पेस्ट के रूप में है कि एक नया सवाल है । मुझे लग रहा है कि -s, यूआरएल, और -v सभी में एक ही स्ट्रिंग है वहाँ है ।
Daniel Farrell

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में