<?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