N-PN White-Hat Project
[Php] Récupérer la liste des proxys de Hide My Ass Proxies - Version imprimable

+- N-PN White-Hat Project (https://dev.n-pn.fr/forum)
+-- Forum : Programmation (https://dev.n-pn.fr/forum/forumdisplay.php?fid=72)
+--- Forum : Langages interprétés (https://dev.n-pn.fr/forum/forumdisplay.php?fid=27)
+--- Sujet : [Php] Récupérer la liste des proxys de Hide My Ass Proxies (/showthread.php?tid=1805)



[Php] Récupérer la liste des proxys de Hide My Ass Proxies - nowz - 18-12-2011

Bonjour,

Il y a quelques semaines, j'ai conçu ce petit snippet PHP, qui permet d'avoir la liste de proxy de HideMyAss, dans un format plus : "lisible" par un bot ou même pour utilisateur :

Code :
<?php

$regex = "/class=(?:\"\")|(?:\"altshade\")[\s]{1,}\srel=\"(?:[0-9]{5,})\"/i";
$url = "http://hidemyass.com/proxy-list/search-225405";

function get_sourceweb($url) // Fonction pour avoir source code d'une page web.
{
        $fpn = fopen($url, "r");

        if (!$fpn)
                return null;
        else
        {
                $doc = "";
                while (!feof($fpn))
                        $doc .= str_replace("\t", "", fgets($fpn, 1024) );
                fclose($fpn);
                return $doc;
        }
}


$sourceweb = get_sourceweb("http://hidemyass.com/proxy-list/search-225405");
$lines = explode("\n", $sourceweb);
$j = 0;

for ($i = 0; $i < sizeof($lines); $i++)
{
        if (preg_match($regex, $lines[$i]))
        {
        $j++; //count
        $lastup = $lines[$i +3];
        $ip = str_replace(" ", "", $lines[$i + 4 ]);
        $port = $lines[$i + 6];
        
        $country = $lines[$i + 8];
        $country = preg_replace('#\s{2,}#', '', $country);
        
        $speed = $lines[$i + 11];
        $speed = explode("width:", $speed);
        $speed = str_replace("\">", "", $speed[1]);
        $speed = preg_replace('#\s{1,}#', '', $speed);
        
        $connectiontime = $lines[$i + 15];
        $connectiontime = explode("width:", $connectiontime);
        $connectiontime = str_replace("\">", "", $connectiontime[1]);
        $connectiontime = preg_replace('#\s{1,}#', '', $connectiontime);
        
        $type = $lines[$i + 20];
        $type = preg_replace('#\s{2,}#', '', $type);
        
        $toecho = "$j||$lastup||$ip||$port||$country||$speed||$connectiontime||$type";
        $toecho = strip_tags($toecho)."\n";
        
        if (isset($_GET['type']))
        {
            if ($_GET['type'] == 'user')
            {
                $toecho .= "<br />";
                echo $toecho;
            }
            if ($_GET['type'] == 'bot')
            {
                echo $toecho;
            }
        }
    }
}

?>


Vous l’hébergez où vous voulez, mais il faut savoir que votre hébergeur doit supporter les fopen à distance
Moi, personnellement il tourne sur mon localhost

Donc si vous ouvrez la page type :

index.php
Il n'y aura rien.
index.php?type=user
Vous êtes l'utilisateur donc vous voyez ca sous un format une ligne un proxy (ajout d'un <br />)
index.php?type=bot
C'est le mode pour le bot, il n'a pas de <br /> donc cela simplifie le travail du bot qui n'aura plus qu'a explode avec les \n.

C'est une modeste contribution, et c'est codé de manière pas très ... jolie.

Voilà, j'espère que certains trouveront la dedans leur bonheur et que cela pourra leur servir.

A bientôt,
nowz