كيفية إجراء طلب HTTP في Go؟
مرحباً بالجميع! أرجو إخباري، كيف يمكنني تنفيذ طلب HTTP GET في Go بشكل صحيح والحصول على رد من الخادم. أنا مبتدئ في اللغة وقد واجهت مشكلة عند محاولة الحصول على بيانات من API خارجي.
حالياً أستخدم المكتبة القياسية net/http، لكن يبدو أن الكود الخاص بي يتعطل ولا يعيد نتيجة. إليك ما جربته:
package main
import (
"fmt"
"io/ioutil"
"net/http"
)
func main() {
resp, err := http.Get("https://api.example.com/data")
if err != nil {
fmt.Println("خطأ:", err)
return
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
fmt.Println("خطأ في القراءة:", err)
return
}
fmt.Println(string(body))
}المشكلة أن البرنامج يتوقف ببساطة دون إخراج، ولا أرى أي أخطاء أو بيانات. لقد تحققت بالفعل من أن URL يعمل (من خلال curl كل شيء على ما يرام). أشك أن المشكلة قد تكون في عدم وجود مهلة زمنية.