Golang में http.Get() के लिए टाइमआउट कैसे सेट करें?
सभी को नमस्ते! मैं Go में नया हूँ और HTTP अनुरोध करते समय एक समस्या का सामना कर रहा हूँ।
मुझे बाहरी API पर GET अनुरोध भेजने की आवश्यकता है, लेकिन कभी-कभी सर्वर हैंग हो जाता है या बहुत धीमी गति से जवाब देता है। डॉक्यूमेंटेशन के मानक उदाहरण में, मैं `http.Get()` का उपयोग कर रहा हूँ, और यह अनंत काल तक हैंग रहता है, पूरे प्रोग्राम को ब्लॉक कर देता है। यहाँ मेरा कोड है:
```go
resp, err := http.Get("https://api.example.com/data")
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()
```
समस्या यह है कि यदि सर्वर जवाब नहीं देता है, तो प्रोग्राम हमेशा के लिए हैंग हो जाता है। मैं एक टाइमआउट सेट करना चाहता हूँ, उदाहरण के लिए 5 सेकंड, ताकि जवाब न मिलने पर प्रोग्राम एक त्रुटि दे और काम करता रहे।
मैंने डॉक्यूमेंटेशन में खोजने की कोशिश की, लेकिन `http.Get()` में टाइमआउट जोड़ने का कोई आसान तरीका नहीं मिला। मैंने `http.Client` के बारे में कुछ देखा, लेकिन समझ नहीं आया कि इसे कैसे उपयोग करना है।