HTTP İstekleri (Requests)

Bu bölümde bir web sayfasına nasıl istekte bulunacağımızı göreceğiz.

Get İsteği

Standart istektir.

package main

import (
	"fmt"
	"io"
	"net/http"
)

func main() {
	//Google anasayfasına GET isteğinde bulunalım
	//ve dönen cevabı cevap değişkenine atayalım
	cevap, hata := http.Get("https://www.google.com.tr")
	if hata != nil {
		//Ya sev ya terket dedik ve paniği bastık.
		panic(hata)
	}
	//Body'i kapatmayı unutmayalım
	defer cevap.Body.Close()

	//Bu esnada Body'den cevabı çekip sayfa değişkenine alıyoruz.
	//Çünkü bunu yapmadan okunabilir bir sonuç alamayız.
	sayfa, hata := io.ReadAll(cevap.Body)

	if hata != nil {
		panic(hata)
	}

	//sayfa değişkeni byte dizisi tipinde olduğu için
	//string tipine cevirip okuyalım
	fmt.Println(string(sayfa))

	//Çıktımız Google TR anasayfasının kaynak kodları olacaktır.
}

Sorgu Parametresi Ekleme

Örneğin, yaptığımız istekte search?q=golang&hl=de gibi bir sorgu kısmı olmasını istiyoruz. URL'yi girdiğimiz kısmı bunu el ile ekleyebiliriz tabiki. Ama onunda kolay bir yöntemi var. Bunun için net/url paketini içe aktaralım. Hemen görelim.

Çıktımız: https://www.google.com.tr/search?q=golang&hl=tr olacaktır.

Bu örneği de aşağıdaki gibi kullanabilirsiniz.

Postform İsteği

Post İsteği

Post isteğini yaparken örnek bir json verisi göndermeyi görelim.

Yukarıdaki örnekte json verimizi map ile oluşturarak post isteğinde kullandık. Map ile oluşturduğumuz json verisi esnek olmadığı için, yani yukarıdaki örnekte sadece string tipinde veri oluşturabildiğimiz için, bir de struct ile oluşturmayı görelim. Anonim bir struct oluşturup işimizi görebiliriz.

Last updated

Was this helpful?