# http.Fetch

- **Ortam:** İstemci, Sunucu, Menü
- **İngilizce aslı:** https://wiki.facepunch.com/gmod/http.Fetch
- **Çeviri tarihi:** 2026-08-07

```lua
http.Fetch( string url, function onSuccess = nil, function onFailure = nil, table headers = {} )
```

## Açıklama

Bir asinkron başlatır. **GET** HTTP sunucusuna bir istek. İç çağrılar [HTTP](https://gmod.tr/wiki/Global.HTTP).

Durum kodunu döndüren HTTP istekleri >= `400` Hâlâ bir başarı olarak kabul ediliyor ve [Başarılı olmak](https://gmod.tr/wiki/Structures/HTTPRequest) Geri çağrı.

[Başarısızlık](https://gmod.tr/wiki/Structures/HTTPRequest) çağrı geri dönüşü genellikle yalnızca DNS veya TCP hatalarında çağırılır (örneğin web sitesi kullanılamaz ya da alan adı yoktur).

Mümkün olanlara genel bir bakış [Başarısızlık](https://gmod.tr/wiki/Structures/HTTPRequest) Mesajlar:

- `invalid url` - Geçersiz/boş adres. (hiçbir talep yapılmadı)
- `invalid request` - Steam HTTP lib bir http isteği oluşturmakta başarısız oldu.
- `error` -Complete'ın ikinci argümanına gelince, `bError`, var. `true`.
- `unsuccessful` -Complete'ın ilk argümanı üzerine, `pResult->m_bRequestSuccessful`, geri döndü. `false`.

> **HATA:** Bu aynı isimli birden fazla başlığı gönderemez veya almaz.
> Sorun İzleyici: [2232](https://github.com/Facepunch/garrysmod-issues/issues/2232)

> **NOT:** Büyük bir bedenle yanıt veren HTTP istekleri geri dönebilir. `unsuccessful` Bir hata var. [Aralık](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Range) Dosyayı parçalar halinde indirmek için başlığı.

> **NOT:** HTTP istekleri özel ağlardaki varış noktalarına (örneğin `192.168.0.1`, veya `127.0.0.1`İşe yaramayacak.
> Özel ağlardaki varış noktalarına HTTP isteklerini etkinleştirmek için [Komut Satırı Parametreleri](https://gmod.tr/wiki/Command_Line_Parameters) `-allowlocalhttp`(Sadece özel sunucular)

Tüm başlıkların ayarlanmasına izin verilmez, burada bilinen kara listeye alınan başlıklar listesi bulunmaktadır:

```lua
host
expect
content-length
proxy-authenticate
accept-charset
connection
accept-encoding
origin
date
```

## Argümanlar

1.. [dizgin](https://gmod.tr/wiki/string) **Adres adresi:**: Almak için web sitesinin URL'si.
2.. [fonksiyon](https://gmod.tr/wiki/function) **Başarılı olmak** = hiç: Başarıyla çağrılan bir fonksiyon. Fonksiyon argümanları: 1.. [dizgin](https://gmod.tr/wiki/string) **Vücut** - Tarifi verilmedi. 2.. [numara](https://gmod.tr/wiki/number) **büyüklüğü** - eşittir. [string.len](https://gmod.tr/wiki/string.len)(beden). 3.. [Tablo](https://gmod.tr/wiki/table) **başlıkları** - Tarifi verilmedi. 4.. [numara](https://gmod.tr/wiki/number) **kod** - HTTP başarı kodu.
3.. [fonksiyon](https://gmod.tr/wiki/function) **Başarısızlık** = hiç: Başarısızlık durumunda çağrılan fonksiyon. Fonksiyon argümanları: 1.. [dizgin](https://gmod.tr/wiki/string) **hata** - Hata mesajı.
4.. [Tablo](https://gmod.tr/wiki/table) **başlıkları** = {}: Başlıklar için KeyValue tablosu.

### Örnek

Web sayfasının HTML'ini almak için tipik kullanımı gösterir.

```lua
local theReturnedHTML = "" -- Boşluk

http.Fetch( "https://www.google.com",

	-- onBaşarı fonksiyonu
	function( body, length, headers, code )
		-- İlk argüman istediğimiz HTML.
		theReturnedHTML = body
	end,

	-- onBaşarısızlık fonksiyonu
	function( message )
		- Başarısız olduk.
		print( message )
	end,

	-- başlık örneği
	{
		["accept-encoding"] = "gzip, deflate",
		["accept-language"] = "fr"
	}
)
```

**Çıkış:** Eğer sayfayı başarıyla aldıysa, değişken `theReturnedHTML` Geri döndürülen HTML'i düz metinde içermelidir.

- [GMod Wiki ana sayfası](https://gmod.tr/wiki)

---

[Tüm sunucular](https://gmod.tr/) · [GmodTR Launcher](https://gmod.tr/launcher) · [Rehber](https://gmod.tr/rehber) · [GMod Wiki](https://gmod.tr/wiki) · [GmodTR nedir?](https://gmod.tr/hakkinda) · [Sunucu ekle](https://gmod.tr/sunucu-ekle) · [Discord](https://discord.gg/gmodtr)

Kaynak: https://gmod.tr/wiki/http.Fetch
