• 29-03-2021, 23:44:30
    #1
    Selamlar, curl ile bot yazıyorum ancak site içeriğini alamadım. İlginç olan postman da GET ediyorum sorunsuz geliyor içerik ama php tarafında ne kadar uğraşsam site verisini çekemedim. Aynı headerları eklesem dahi verileri alamadım.
    Aldığım hata:
    HTTP/1.0 302 Object Moved Pragma: no-cache Location: / Connection: close veya 400 Bad Request oluyor.
    Kod
           $ch = curl_init("https://www.dr.com.tr/search?q=" . $isbn);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_VERBOSE, 1);
            curl_setopt($ch, CURLOPT_NOBODY, 0);
            curl_setopt($ch, CURLOPT_HEADER, 1);
            curl_setopt($ch, CURLOPT_HTTPHEADER, array(
                'Host: www.dr.com.tr',
                'Referer: https://www.dr.com.tr',
                'Cookie: DnR.customer=183e1f7d-32a5-4441-974c-9bebec39f671; NSC_es.dpn.us-wtfswfs-opjq=ffffffff09050b3245525d5f4f58455e445a4a423660',
                'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
                'Accept-Encoding: gzip, deflate',
                'Accept-Language: tr-TR,en;q=0.5',
                'Cache-Control: no-cache, must-revalidate',
                'Connection: keep-alive',
                'Content-Type: application/x-www-form-urlencoded; charset=utf-8',
                'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.8) Gecko/20061025 Firefox/1.5.0.8',
            ));
            $body =  curl_exec($ch);
            curl_close($ch);
            echo $body;
    Postmanda ki sonuç: https://prnt.sc/10zbd36
    PHP ile istek attığımda ki sonuç: https://prnt.sc/10zbe3r

    Postmanda ne olabilirde içeriği alabiliyor ? veya ben mi eksik bir şey yaptım. Bilgisi olan arkadaşlar yardımcı olursa sevinirim
  • 29-03-2021, 23:55:28
    #2
    CURLOPT_REFERER bilgisi de eklemeyi deneyin hocam
  • 30-03-2021, 00:10:30
    #3
    enescakmakci adlı üyeden alıntı: mesajı görüntüle
    CURLOPT_REFERER bilgisi de eklemeyi deneyin hocam
    Şu şekilde düzenledim ref doğru mu verdim bilemiyorum ama bu sefer verdiği hata ve kodum;

        $ch = curl_init("https://www.dr.com.tr");
            $ref = curl_init("https://www.dr.com.tr/search?q=" . $isbn);
            curl_setopt($ch,CURLOPT_REFERER,$ref);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_VERBOSE, 1);
            curl_setopt($ch, CURLOPT_NOBODY, 0);
            curl_setopt($ch, CURLOPT_HEADER, 1);
            curl_setopt($ch, CURLOPT_HTTPHEADER, array(
                'Host: www.dr.com.tr',
                'Referer: https://www.dr.com.tr',
                'Cookie: DnR.customer=183e1f7d-32a5-4441-974c-9bebec39f671; NSC_es.dpn.us-wtfswfs-opjq=ffffffff09050b3245525d5f4f58455e445a4a423660',
                'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
                'Accept-Encoding: gzip, deflate',
                'Accept-Language: tr-TR,en;q=0.5',
                'Cache-Control: no-cache, must-revalidate',
                'Connection: keep-alive',
                'Content-Type: text/html; charset=utf-8',
                'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.8) Gecko/20061025 Firefox/1.5.0.8',
            ));
            $body =  curl_exec($ch);
            curl_close($ch);
            echo $body;
    Hata: HTTP/1.0 400 Bad Request Content-Type: text/html
  • 30-03-2021, 00:16:58
    #4
    Curl Curlopt_followlocation özelliğini True yapıp deneyin bi
  • 30-03-2021, 00:22:38
    #5
    DeRyaca adlı üyeden alıntı: mesajı görüntüle
    Curl Curlopt_followlocation özelliğini True yapıp deneyin bi
    Denedim maalesef yine aynı
  • 30-03-2021, 02:26:54
    #6
    Sizin IP'yi mi banladı acaba, kopyaladım yapıştırdım hiçbir düzenleme yapmadan çalıştı.
  • 30-03-2021, 09:41:18
    #7
    Decentralized adlı üyeden alıntı: mesajı görüntüle
    Sizin IP'yi mi banladı acaba, kopyaladım yapıştırdım hiçbir düzenleme yapmadan çalıştı.
    IP banlasa tarayıcıdan da hata vermez miydi ? Acaba benim host ile ilgili olabilir mi
  • 30-03-2021, 11:18:28
    #8
    VPN ile denedim yine aynı çalışmıyor bir türlü
  • 31-03-2021, 04:43:54
    #9
    aozfen adlı üyeden alıntı: mesajı görüntüle
    Selamlar, curl ile bot yazıyorum ancak site içeriğini alamadım. İlginç olan postman da GET ediyorum sorunsuz geliyor içerik ama php tarafında ne kadar uğraşsam site verisini çekemedim. Aynı headerları eklesem dahi verileri alamadım.
    Aldığım hata:
    HTTP/1.0 302 Object Moved Pragma: no-cache Location: / Connection: close veya 400 Bad Request oluyor.
    Kod
           $ch = curl_init("https://www.dr.com.tr/search?q=" . $isbn);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_VERBOSE, 1);
            curl_setopt($ch, CURLOPT_NOBODY, 0);
            curl_setopt($ch, CURLOPT_HEADER, 1);
            curl_setopt($ch, CURLOPT_HTTPHEADER, array(
                'Host: www.dr.com.tr',
                'Referer: https://www.dr.com.tr',
                'Cookie: DnR.customer=183e1f7d-32a5-4441-974c-9bebec39f671; NSC_es.dpn.us-wtfswfs-opjq=ffffffff09050b3245525d5f4f58455e445a4a423660',
                'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
                'Accept-Encoding: gzip, deflate',
                'Accept-Language: tr-TR,en;q=0.5',
                'Cache-Control: no-cache, must-revalidate',
                'Connection: keep-alive',
                'Content-Type: application/x-www-form-urlencoded; charset=utf-8',
                'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.8) Gecko/20061025 Firefox/1.5.0.8',
            ));
            $body =  curl_exec($ch);
            curl_close($ch);
            echo $body;
    Postmanda ki sonuç: https://prnt.sc/10zbd36
    PHP ile istek attığımda ki sonuç: https://prnt.sc/10zbe3r

    Postmanda ne olabilirde içeriği alabiliyor ? veya ben mi eksik bir şey yaptım. Bilgisi olan arkadaşlar yardımcı olursa sevinirim
    Verdiğiniz kod syntax errorlar veriyordu. Aşağıdaki şekilde bir kod hazırladım ve localde sorunsuz çalışıyor deneyebilirsiniz.

    $isbn = '9786050970760';
    
    $ch = curl_init("https://www.dr.com.tr/search?q=" . $isbn);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    
    curl_setopt ($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36');
    curl_setopt($ch, CURLOPT_REFERER, 'https://www.dr.com.tr/');
    
    $body = curl_exec($ch);
    echo $body;