1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
|
debug(" \tCreation des WSA...");
WSADATA WSAData;
WSAStartup(MAKEWORD(2,0), &WSAData);
debug("[OK]\tCreation des WSA...");
debug(" \tCreation du SOCKET et SOCKADDR_IN");
SOCKET sock;
SOCKADDR_IN sin;
debug("[OK]\tCreation du SOCKET et SOCKADDR_IN");
debug(" \tInitialisation du socket et du sockaddr_in");
sock = socket(AF_INET, SOCK_STREAM, 0);
sin.sin_addr.s_addr = 989209672; //inet_addr("72.36.246.58");
sin.sin_family = AF_INET;
sin.sin_port = htons(80); // port HTTP.
debug("[OK]\tInitialisation du socket et du sockaddr_in");
debug(" \tConnexion du socket");
connect(sock, (SOCKADDR *)&sin, sizeof(sin)); // on se connecte sur le site web.
debug("[OK]\tConnexion du socket");
debug(" \tBoucle de telechargement des series");
for (int i = 0; i < nombre_series; i++)
{
debug(" \tTravail sur la serie : " + series[i].get_name());
debug(" \tCreation des variables locales de la serie");
string source = "";
string srequete = "";
size_t requete_taille;
debug("[OK]\tCreation des variables locales de la serie");
debug(" \tEcriture de la requete GET en string");
srequete = "GET " + series[i].get_url() + " HTTP/1.0\r\n";
srequete += "Host: tvrage.com\r\n";
srequete += "Connection: close\r\n";
srequete += "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\n";
srequete += "Accept: text/html;q=0.9,text/plain;q=0.8\r\n";
srequete += "Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3\r\n";
srequete += "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n";
srequete += "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3\r\n";
srequete += "Referer: http://pozzyx.net/\r\n";
srequete += "\r\n";
debug("[OK]\tEcriture de la requete GET en string");
debug(" \tConversion de la requete GET en char");
requete_taille = srequete.size() + 1;
char crequete[requete_taille];
strncpy( crequete, srequete.c_str(), requete_taille );
debug("[OK]\tConversion de la requete GET en char");
debug(" \tEnvoi de la requete GET au serveur");
send(sock, crequete, strlen(crequete), 0); // on envoie la requête HTTP.
debug("[OK]\tEnvoi de la requete GET au serveur");
debug(" \tReception de la source");
int data;
do
{
char buffer[1024];
data = recv(sock, buffer, sizeof(buffer), 0); // le buffer récupère les données reçues.
string sbuffer = buffer;
source += sbuffer.substr(0, data);
} while (data != 0);
debug("[OK]\tReception de la source");
cout << source;
} |
Partager