PHP ile API Sorguları: GET, POST, PUT ve DELETE İstekleri
PHP ile API sorgusu yapmak için file_get_contents()
veya cURL
kullanabilirsiniz.
file_get_contents()
Fonksiyonu ile sorgu yapmak için:
<?php $url = 'https://example.com/api'; $data = file_get_contents($url); print_r(json_decode($data)); ?>
cURL
ile sorgu yapmak için:
<?php $url = 'https://example.com/api'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $data = curl_exec($ch); curl_close($ch); print_r(json_decode($data)); ?>
Bu örneklerde, https://example.com/api
adresinde bir API sorgusu yapılmış ve dönen veri json_decode()
fonksiyonu ile PHP dizisine dönüştürülmüştür. Dönen veriyi kullanmak için, json_decode() fonksiyonunun döndürdüğü dizi içinde gezinmeniz gerekir.
Ek olarak, API sorgularını yaparken GET, POST, PUT ve DELETE gibi HTTP istek türlerini de kullanabilirsiniz. Örneğin, bir kayıt oluşturmak için POST, bir kaydı güncellemek için PUT ve bir kaydı silmek için DELETE gibi. Bu istek türlerini kullanmak için cURL
kullanmanız gerekir.
<?php $url = 'https://example.com/api'; $data = array("name" => "John Doe", "age" => "35"); $options = array( 'http' => array( 'header' => "Content-type: application/x-www-form-urlencoded\r\n", 'method' => 'POST', 'content' => http_build_query($data), ), ); $context = stream_context_create($options); $result = file_get_contents($url, false, $context); if ($result === FALSE) { /* Handle error */ } var_dump($result); ?>
Bu kod örneğinde, bir POST isteği yapılmış ve isteğe ait bilgiler Content-type: application/x-www-form-urlencoded
ve http_build_query($data)
ile gönderilmiştir.
API sorgularını yaparken, genellikle API belgelerinde belirtilen parametreleri ve başlıkları kullanmanız gerekir. Bu nedenle, API belgelerine dikkatli bir şekilde bakmanız ve gerektiğinde, API sağlayıcısı ile iletişime geçmeniz önerilir.
API Kullanımı Esnasında GET , PUT , POST , DELETE Örnekleri
HTTP istek türleri arasında en yaygın olarak kullanılanlar GET, POST, PUT ve DELETE’dir.
- GET: Sunucudan veri almak için kullanılan istek türüdür. Örneğin, bir web sayfasının içeriğini almak için kullanılır.
<?php $url = 'https://example.com/api'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET'); $data = curl_exec($ch); curl_close($ch); print_r(json_decode($data)); ?>
- POST: Sunucuya veri göndermek için kullanılan istek türüdür. Örneğin, bir kayıt oluşturmak için kullanılır.
<?php $url = 'https://example.com/api'; $data = array("name" => "John Doe", "age" => "35"); $options = array( 'http' => array( 'header' => "Content-type: application/x-www-form-urlencoded\r\n", 'method' => 'POST', 'content' => http_build_query($data), ), ); $context = stream_context_create($options); $result = file_get_contents($url, false, $context); if ($result === FALSE) { /* Handle error */ } var_dump($result); ?>
- PUT: Sunucudaki bir kaydı güncellemek için kullanılan istek türüdür. Örneğin, bir kaydın bilgilerini değiştirmek için kullanılır.
<?php $url = 'https://example.com/api'; $data = array("name" => "Jane Smith", "age" => "40"); $options = array( 'http' => array( 'header' => "Content-type: application/x-www-form-urlencoded\r\n", 'method' => 'PUT', 'content' => http_build_query($data), ), ); $context = stream_context_create($options); $result = file_get_contents($url, false, $context); if ($result === FALSE) { /* Handle error */ } var_dump($result); ?>
- DELETE: Sunucudaki bir kaydı silmek için kullanılan istek türüdür. Örneğin, bir kaydı sistemden kaldırmak için kullanılır.
<?php $url = 'https://example.com/api/123'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch); print_r($response); ?>
Bu kod örneğinde,
https://example.com/api/123
adresinde bulunan kaydı silmek için DELETE isteği yapılmıştır. İstek yapıldıktan sonra, sunucudan dönen cevapcurl_exec()
ile alınır ve ekranaprint_r()
ile yazdırılır.Ancak, unutmayın ki DELETE işlemi geri alınamaz, dolayısıyla kullanmadan önce dikkatli olmalısınız. Bu nedenle, örnek olarak yaptığımız örnekte gerçek bir api adresi kullanmadım.
Ayrıca, API sorgularını yaparken, genellikle API belgelerinde belirtilen parametreleri ve başlıkları kullanmanız gerekir. Bu nedenle, API belgelerine dikkatli bir şekilde bakmanız ve gerektiğinde, API sağlayıcısı ile iletişime geçmeniz önerilir.