• 27-08-2021, 21:39:25
    #1
    Eskiden beri ekşisözlük'ten file_get_contents veya curl ile veri çekiyordum. Son zamanlarda cloudflare under attack modu açılmış sanırım veri çekemiyorum. Önerebileceğiniz bir çözüm var mı? Bunun atlamanın bir yolu olmalı ama bir türlü bulamadım.

    Aşağıdaki şekilde bir uyarı geliyor;
    "sizi birazdan istediğiniz sayfaya yönlendiriyoruz. beklediğiniz için teşekkür ederiz."

    Kullandığım kodlar aşağıdaki gibi;
    $sayfa=file_get_contents("https://eksisozluk.com/basliklar/gundem");
    $sayfa=adresi_cek("https://eksisozluk.com/basliklar/gundem");

    function adresi_cek($adres) {

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_REFERER, "https://eksisozluk.com/ ");
    curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; tr; rv:1.9.0.10)");
    curl_setopt($ch, CURLOPT_URL, $adres);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    //curl_setopt($ch, CURLOPT_POST, 1);
    $sayfa = curl_exec($ch);

    return $sayfa;
    }
  • 27-08-2021, 21:45:06
    #2
    CURLOPT_HTTPHEADER ile HTTP HEADER bilgilerini göndermelisiniz ki sizi bot olarak algılamasın. Ancak eğer zorunlu under attack modu açılmışsa yapacak bir şey yok, kendi cookie değerinizi koyarak çözebilirsiniz belki...
  • 27-08-2021, 21:49:48
    #3
    Unofficial API var onu kullan GitHub'da.