Senior
Yaxşı, onda sorğuda dəqiq nə dəyişdi?
sobes.tech Süni İntellekt
AI-dan cavab
Go-da HTTP sorğusunda edilən dəyişikliklər ümumiyyətlə aşağıdakıları əhatə edə bilər:
- Başlıqları əlavə etmək və ya dəyişdirmək (məsələn,
Authorization,Content-Type). - İptal və ya vaxt aşımını dəstəkləmək üçün kontekst (
http.NewRequestWithContext) istifadə etmək. - Sorğu metodunu dəyişdirmək (
GET,POST,PUTvə s.). - Sorğunun gövdəsində dəyişikliklər etmək (məsələn, JSON və ya forma əlavə etmək).
Kontekst və başlıq əlavə etməklə sorğunu dəyişdirmə nümunəsi:
ctx, cancel := context.WithTimeout(context.Background(), time.Second*5)
defer cancel()
req, err := http.NewRequestWithContext(ctx, "POST", "https://api.example.com/send", bytes.NewBuffer(jsonData))
if err != nil {
log.Fatal(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer token")
resp, err := http.DefaultClient.Do(req)
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()
Beləliklə, konkret dəyişikliklər vəzifədən asılıdır, amma ümumiyyətlə sorğu üzərində nəzarəti yaxşılaşdırır, lazım olan başlıqları əlavə edir və vaxtın düzgün idarə olunmasını təmin edir.