Bonjour,
je suis nouveau dans ce forum aux allures gigantesques.
J'ai un probléme pour une lire une page web a partird'une connection par socket au port 80 :
voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 #include<fstream.h> #include<winsock.h> #pragma comment(lib, "ws2_32.lib") void main(void) { WSADATA WSAData; WSAStartup(MAKEWORD(2,0), &WSAData); SOCKET sock; SOCKADDR_IN sin; char buffer[1024]; char canal[50] = "GET / HTTP/1.0\nAccept: */*\n\n"; ofstream log("protsock.log"); // fichier pour enregistrer les données reçues. sock = socket(AF_INET, SOCK_STREAM, 0); sin.sin_addr.s_addr = inet_addr("213.251.135.16"); // site web www.aol.com sin.sin_family = AF_INET; sin.sin_port = htons(80); // port HTTP. connect(sock, (SOCKADDR *)&sin, sizeof(sin)); // on se connecte sur le site web. send(sock, canal, strlen(canal), 0); // on envoie la requête HTTP. int i = recv(sock, buffer, sizeof(buffer), 0); // le buffer récupère les données reçues. if (i != 0) // si le buffer reçoit des données. { log << buffer << endl; // enregistrement des données dans le fichier. } closesocket(sock); // on ferme le socket. WSACleanup(); }
j'obtient :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 HTTP/1.0 302 Found Location: http://www.google.fr/ Set-Cookie: PREF=ID=9ecfc76103de0b7d:TM=1131705333:LM=1131705333:S=wt93aekSgucgYOMO; expires=Sun, 17-Jan-2038 19:14:07 GMT; path=/; domain=.google.com Content-Type: text/html Server: GWS/2.1 Content-Length: 151 Date: Fri, 11 Nov 2005 10:35:33 GMT Connection: Keep-Alive <HTML><HEAD><TITLE>302 Moved</TITLE></HEAD><BODY> <H1>302 Moved</H1> The document has moved <A HREF="http://www.google.fr/">here</A>. </BODY></HTML> ÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌ
Il commence a me lire la page html mais comme ci dessous il ne veux pas me lire la page en entier.
Alors je me suis dis qu'en agrandissant la taille du tableau : buffer[1024] il me continuerais de lire la page mais non il me fais la même lecture avec les caracteres "Ì" en plus
Voila merci
Partager