0Pricing
Go Academy · Ders

HTTP İstekleri Gönderme

http.NewRequest ve http.DefaultClient ile GET ve POST

HTTP İstekleri Gönderme, CoddyKit'te ücretsiz bir Go Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Go Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Go Academy kursu toplamda 4 dersten oluşur.

http.Get kısayolu

http.Get(url), GET isteği yapmanın en basit yoludur. Yanıt gövdesini her zaman kapatın.

resp, err := http.Get("https://api.example.com/users")
if err != nil { return err }
defer resp.Body.Close()

http.DefaultClient

http.Get, paket düzeyindeki DefaultClient'ı kullanır. Üretim için, zaman aşımları ayarlanmış özel bir istemci oluşturun.

client := &http.Client{Timeout: 10 * time.Second}
resp, err := client.Get(url)

Tam denetim için http.NewRequest

Yöntemi, üstbilgileri ve gövdeyi ayarlamak için http.NewRequest kullanın:

req, err := http.NewRequestWithContext(ctx, "POST", url, body)
req.Header.Set("Content-Type", "application/json")
resp, err := client.Do(req)

İstek gövdesi

Bir istek gövdesini io.Reader üzerinden geçirin. JSON yükleri için bytes.NewBuffer(data) veya strings.NewReader kullanın.

data, _ := json.Marshal(payload)
req, _ := http.NewRequestWithContext(ctx, "POST", url, bytes.NewBuffer(data))

Yanıt durumunu denetleme

HTTP durum kodunu her zaman denetleyin — 4xx/5xx, varsayılan olarak Go hatası biçiminde döndürülmez.

if resp.StatusCode != http.StatusOK {
    return fmt.Errorf("unexpected status: %d", resp.StatusCode)
}

JSON yanıtının kodunu çözme

Yanıt gövdesini önce tamamen belleğe okumaktan kaçınmak için json.Decoder ile koddan çözün:

var result APIResponse
json.NewDecoder(resp.Body).Decode(&result)

Sorgu parametreleri

Sorgu dizelerini url.Values ile oluşturun ve URL'ye ekleyin:

params := url.Values{}
params.Set("page", "1")
params.Set("limit", "20")
reqURL := baseURL + "?" + params.Encode()

Client.Do ve özel taşıma

Varsayılan davranışı kaybetmeden yeniden deneme mantığı, özel TLS veya vekil ayarları eklemek için http.DefaultTransport'ı sarın.

Yanıt gövdesi kapatılmalıdır

Yanıt gövdesini kapatmamak, temel TCP bağlantısının sızmasına neden olur. Hata yanıtları için bile her zaman defer resp.Body.Close() kullanın.

Yönlendirmeleri izleme

Varsayılan istemci en fazla 10 yönlendirmeyi izler. Yönlendirme izlemeyi özelleştirmek veya devre dışı bırakmak için client.CheckRedirect ayarlayın.

User-Agent ayarlama

Sunucu günlüklerinin istemcinizi tanımlayabilmesi için açıklayıcı bir User-Agent üstbilgisi ayarlayın:

req.Header.Set("User-Agent", "myapp/1.0 (+https://myapp.com)")

Kısa Kontrol

HTTP yanıt gövdesini neden her zaman kapatmalısınız?

Özet: HTTP istekleri yapma

Temel noktalar:

  • Her zaman defer resp.Body.Close() kullanın
  • Üretim için Timeout içeren özel bir http.Client oluşturun
  • Bağlam ve özel üstbilgiler için http.NewRequestWithContext kullanın
  • resp.StatusCode değerini denetleyin — HTTP hataları Go hataları değildir

Sıkça Sorulan Sorular

“HTTP İstekleri Gönderme” dersi ücretsiz mi?

Evet — “HTTP İstekleri Gönderme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Go Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Go Academy kursu toplamda 4 dersten oluşur.

“HTTP İstekleri Gönderme” dersinde ne öğreneceğim?

http.NewRequest ve http.DefaultClient ile GET ve POST Go Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Go Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Go Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“HTTP İstekleri Gönderme” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Go Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Go Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. HTTP İstekleri Gönderme
  2. Zaman Aşımları ve Üst Bilgileri Ayarlama
  3. JSON Yanıtlarının Kodunu Çözme
  4. Hata Yönetimi ve Yeniden Deneme Mantığı
← Go Academy Sayfasına Dön