cURL : en route vers le scrapping

cURL : une première étape pour tout black hat qui se respecte ! ;+)cURL est à l’origine une commande en ligne dont l’objet est de transférer les données à partir des protocoles de l’Internet et notamment à partir des adresses Http et Https. C’est un outil qui sait se montrer extrêmement discret, lorsqu’il est couplé à  Tor, à la condition de glisser des en-têtes dans votre requête qui vous assimile à un navigateur.

Ma classe Curl écrite en PHP

J’ai sauvegardé la classe Curl sous le nom curl.class.php.

<?php
/*
 * https://www.php.net/manual/fr/book.curl.php
 * https://php.net/manual/fr/function.curl-setopt.php
*/
class Curl
{
    protected $ch;
    /*
     * Initialisation des paramètres
     */
    function __construct($url,$tor=false)
    {
        
        $this->ch = curl_init();
        $headers= [
            'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8',
            'Accept-Language: en-US;q=0.7,en;q=0.3'
        ];
        $options=[
            CURLOPT_HEADEROPT => CURLHEADER_UNIFIED,
            CURLOPT_HTTPHEADER => $headers,
            CURLOPT_HEADER => false,
            CURLOPT_URL => $url,
            CURLOPT_ENCODING => 'gzip,deflate',
            CURLOPT_AUTOREFERER => true, 
            CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:107.0) Gecko/20100101 Firefox/107.0',
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_COOKIESESSION => true, 
            CURLOPT_FOLLOWLOCATION => true,
            CURLOPT_PROTOCOLS => CURLPROTO_HTTPS,
            CURLOPT_SSL_VERIFYPEER => false, 
            CURLOPT_PROXY_SSL_VERIFYPEER => false,
            CURLOPT_SSL_VERIFYSTATUS => false,
            CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_2TLS,
            CURLOPT_CONNECTTIMEOUT => 15,
            CURLOPT_TIMEOUT => 15,
            CURLOPT_HTTPGET => true,
            CURLOPT_HTTP_CONTENT_DECODING => true,
            CURLOPT_TCP_FASTOPEN => true,
            CURLOPT_VERBOSE => false
        ];
        curl_setopt_array($this->ch,$options);
        /*
         * Prise en charge de Tor
         */
        if($tor)
        {
            curl_setopt($this->ch,CURLOPT_PROXY,'127.0.0.1:9050');
            curl_setopt($this->ch,CURLOPT_PROXYTYPE,CURLPROXY_SOCKS5);
        }
    }
    /*
     * Récupération du contenu
     */
    public function get_content()
    {
        $response=false;
        $response=curl_exec($this->ch);
        $httpcode = curl_getinfo($this->ch, CURLINFO_HTTP_CODE);
        if($httpcode >= 400 and $httpcode < 200) 
        {
            $response=$httpcode;
        }
        return $response;
    }
    /*
     * Destructeur
     */
    function __destruct()
    {
       curl_close($this->ch); 
    }
}
?>

Exemple d’utilisation

J’ai testé l’utilisation de cette classe curl.class.php avec Tor sous Windows. L’objectif est de ne pas se faire repérer.

<?php
/*
* Test Classe Curl
*/
require_once 'curl.class.php';
$url='https://www.lemonde.fr';
/*
* Le paramètre true permet d'activer Tor, installé sur la machine.
*/
$curl=new Curl($url,true);
$content=$curl->get_content();
unset($curl);
echo $content;
?>

Téléchargement de la classe

Vous pouvez télécharger ce code à partir de ce lien. Elle est aussi sur Pastebin.

Php /

deneme bonusu veren siteler casino siteleri betdenemebonusu.com bahis siteleri Ev eşyası depolama Depolama Şehirlerarası evden eve nakliyat Evden eve nakliyat Eşya depolama yurtdışına ev taşıma Türkiye'den Almanya'ya ev taşıma zati eşya tasimaciligi uluslararasi zati eşya tasimaciligi eşya depolama şehirler arası nakliyat asansörlü nakliyat greatplay.net güvenilir online bahis siteler 2022 jetbahis Rexbet hovarda mobilbahis güncel adres sartsız Deneme Bonus sekabet maltcasino güncel adres> pinbahis100.com betduman.com olabahis.top سایت شرط بندی shartkade.com 1xbet-mobil.com beykoz evden eve nakliyat ataşehir evden eve nakliyat şişli evden eve nakliyat istanbul evden eve nakliyat
teens porn videos free sex xxx sexy videos