<?php
// HTML sayfasını çekmeye çalışıyoruz
$fileme = @file_get_contents('https://www.turkiye.gov.tr/saglik-titck-nobetci-eczane-sorgulama?submit');
if ($fileme === false) {
    die("Sayfa çekilemedi. Bağlantıyı kontrol edin.");
}

// HTTP response başlıklarını kontrol ediyoruz
if (empty($http_response_header)) {
    die("HTTP yanıt başlıkları alınamadı.");
}

// Çerezleri topluyoruz
$cookies = array();
foreach ($http_response_header as $hdr) {
    if (preg_match('/^Set-Cookie:\s*([^;]+)/', $hdr, $matches)) {
        parse_str($matches[1], $tmp);
        $cookies += $tmp;
    }
}

// Çerezlerin alınıp alınmadığını kontrol ediyoruz
if (empty($cookies)) {
    die("Çerezler alınamadı.");
} else {
    echo "Çerezler başarıyla alındı: ";
    print_r($cookies); // Çerezleri ekrana yazdır
}

// Token değerini almak için HTML'den form input'u kontrol ediyoruz
preg_match('#<input type="hidden" name="token" value="(.*?)"#si', $fileme, $token);

// Token alınıp alınmadığını kontrol ediyoruz
if (empty($token[1])) {
    die("Token alınamadı. HTML yapısını kontrol edin.");
} else {
    echo "Token başarıyla alındı: " . $token[1] . "\n";
}

$cityCode = 34;
$date = '19/09/2024';

// POST isteğini gönderen fonksiyon
function postByScrapedData($cityCode, $date, $cookies, $token) {
    $curl = curl_init();
    curl_setopt_array($curl, array(
        CURLOPT_URL => 'https://www.turkiye.gov.tr/saglik-titck-nobetci-eczane-sorgulama?submit',
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_ENCODING => '',
        CURLOPT_MAXREDIRS => 10,
        CURLOPT_TIMEOUT => 0,
        CURLOPT_FOLLOWLOCATION => true,
        CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
        CURLOPT_CUSTOMREQUEST => 'POST',
        CURLOPT_POSTFIELDS => http_build_query([
            'plakaKodu' => $cityCode,
            'nobetTarihi' => $date,
            'token' => $token,
            'btn' => 'Sorgula'
        ]),
        CURLOPT_HTTPHEADER => array(
            'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/117.0',
            'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8',
            'Accept-Language: en-US,tr;q=0.5',
            'Accept-Encoding: gzip, deflate, br',
            'Referer: https://www.turkiye.gov.tr/saglik-titck-nobetci-eczane-sorgulama',
            'Content-Type: application/x-www-form-urlencoded',
            'Origin: https://www.turkiye.gov.tr',
            'Connection: keep-alive',
            'Cookie: ' . http_build_query($cookies, '', '; '),
            'Upgrade-Insecure-Requests: 1',
            'Sec-Fetch-Dest: document',
            'Sec-Fetch-Mode: navigate',
            'Sec-Fetch-Site: same-origin',
            'Sec-Fetch-User: ?1',
            'Pragma: no-cache',
            'Cache-Control: no-cache'
        ),
    ));

    $response = curl_exec($curl);

    // CURL hatası olup olmadığını kontrol edelim
    if ($response === false) {
        $error = curl_error($curl);
        curl_close($curl);
        die("CURL hatası: $error");
    }

    $http_code = curl_getinfo($curl, CURLINFO_HTTP_CODE);
    curl_close($curl);

    // HTTP yanıt kodunu kontrol edelim
    if ($http_code !== 200) {
        die("HTTP isteği başarısız oldu. Kod: $http_code");
    }

    return $response;
}

// POST isteği yapıyoruz ve sonucu kontrol ediyoruz
$sonuc = postByScrapedData($cityCode, $date, $cookies, $token[1]);
if ($sonuc === false) {
    die("POST isteği başarısız oldu.");
} else {
    echo "POST isteği başarılı, sonuç: \n";
    echo $sonuc; // Sonucu ekrana yazdır
}
?>
bunu dene bi dostum