# http.Post

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

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

## Açıklama

Bir HTTP sunucusuna eşzamansız bir **POST** isteği gönderir. Dahili olarak [HTTP](https://gmod.tr/wiki/Global.HTTP) fonksiyonunu çağırır.

`400` veya daha yüksek bir durum kodu döndüren HTTP istekleri yine de başarılı kabul edilir ve [onSuccess](https://gmod.tr/wiki/Structures/HTTPRequest) geri çağrımını tetikler.

[onFailure](https://gmod.tr/wiki/Structures/HTTPRequest) geri çağrımı genellikle yalnızca DNS veya TCP hatalarında (örneğin, web sitesinin kullanılamaması veya alan adının mevcut olmaması) çağrılır.

> **HATA:** Bu fonksiyon, aynı isme sahip birden fazla başlığı gönderemez veya alamaz.
> Hata Takipçisi: [2232](https://github.com/Facepunch/garrysmod-issues/issues/2232)

> **NOT:** Büyük bir gövde ile yanıt veren HTTP istekleri "başarısız" hatası döndürebilir. Dosyayı parçalar halinde indirmek için [Range](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Range) başlığını kullanmayı deneyin.

> **NOT:** Özel ağlardaki (`192.168.0.1` veya `127.0.0.1` gibi) hedeflere yapılan HTTP istekleri çalışmaz.
> Özel ağlardaki hedeflere HTTP isteklerini etkinleştirmek için [Komut Satırı Parametreleri](https://gmod.tr/wiki/Command_Line_Parameters)'nden `-allowlocalhttp` kullanın. (Yalnızca adanmış sunucular için)

## Argümanlar

1. [string](https://gmod.tr/wiki/string) **url**: POST isteği gönderilecek web sitesinin URL'si.
2. [table](https://gmod.tr/wiki/table) **parameters**: Sunucuya gönderilecek POST parametreleri (x-www-form-urlencoded). **Anahtarlar ve değerler string olmalıdır**.
3. [function](https://gmod.tr/wiki/function) **onSuccess** = nil: Başarılı olduğunda çağrılacak fonksiyon. Fonksiyon argüman(lar)ı: 1. [string](https://gmod.tr/wiki/string) **body** - Yanıt gövdesi (string olarak). 2. [string](https://gmod.tr/wiki/string) **size** - [string.len](https://gmod.tr/wiki/string.len)(body) ifadesine eşittir. 3. [table](https://gmod.tr/wiki/table) **headers** - Yanıt başlıkları (tablo olarak). 4. [number](https://gmod.tr/wiki/number) **code** - HTTP başarı kodu.
4. [function](https://gmod.tr/wiki/function) **onFailure** = nil: Başarısız olduğunda çağrılacak fonksiyon. Fonksiyon argüman(lar)ı: 1. [string](https://gmod.tr/wiki/string) **error** - Hata mesajı.
5. [table](https://gmod.tr/wiki/table) **headers** = {}: Başlıklar için Anahtar-Değer (KeyValue) tablosu.

### Örnek

PHP'de bir dosya yazın ve bunu Lua'dan çağırın. Aşağıdaki çıktı konsola değil, dosyaya yazılır.

```lua
<?php
	$p = $_POST["p"];
	$a = $_POST["a"];

	$f = fopen("write.html", "w");

	fwrite($f, "This is a test. $p $a\n");

	fclose($f);
?>
```

```lua
http.Post( "http://localhost/post.php", { p = "Gmod", a = "Test" },

	-- onSuccess fonksiyonu
	function( body, length, headers, code )
		print( "Bitti!" )
	end,

	-- onFailure fonksiyonu
	function( message )
		print( message )
	end

)
```

**Çıktı:**

```lua
This is a test. Gmod Test
```

- [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.Post
