Bonjour bonjour,
j'ai un code avec winsock pour obtenir le code source d'une page web :
et sur certaines pages web le code est légèrement différent.
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
42
43
44
45
46
47
48
49 string source = get_source(series[0].get_url()); int source_debut = source.find("<pre>",0); int source_fin = source.find("</pre>",0); int source_taille = source_fin - source_debut; source = source.substr(source_debut, source_taille); cout << source; string get_source(string url) { WSADATA WSAData; WSAStartup(MAKEWORD(2,0), &WSAData); SOCKET sock; SOCKADDR_IN sin; char buffer[1024]; string srequete = "GET " + url + " HTTP/1.0\nAccept: */*\n\n"; size_t requete_taille = srequete.size() + 1; char crequete[requete_taille]; strncpy( crequete, srequete.c_str(), requete_taille ); int i = 0; string source = ""; sock = socket(AF_INET, SOCK_STREAM, 0); sin.sin_addr.s_addr = inet_addr("216.239.136.165"); // 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, crequete, strlen(crequete), 0); // on envoie la requête HTTP. do { i = recv(sock, buffer, sizeof(buffer), 0); // le buffer récupère les données reçues. source += buffer; } while (i != 0); closesocket(sock); // on ferme le socket. WSACleanup(); return source; }
Je ne pense pas que cela puisse etre du à un code coté serveur étant donné l'exemple suivant :
Je charge http://epguides.com/traveler/ et affiche la source à partir de <pre>, j'obtiens :
ce qui est "faux" par rapport à firefox ou ie car si j'essaie d'ouvrir la source obtenue dans un navigateur, la plus part des choses sont invisible étant donné le <!-- 4 lignes avant le _______
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 <pre> Original Episode # Prodf="http://us.imdb.com/title/tt805668/episodes">Show<br />Pages<br />@IMDb</a></td> <td><a target="_blank" href="http://www.google.com/search?q=%22Traveler%22">Related links</a><br />via<br /><a target="_blank" href="http://www.google.com/">Google</a></td> <td><a target="_blank" href="../search/">SEARCH<br />epguides<br />& TV.com</a></td> <td><a href="../FAQ/">FAQ</a></td> <td><a href="../menu/">All<br />Shows<br />Menu</a></td> <td><a href="../menu/current.shtml"><strong>Current<br />Shows<br />Menu</strong></a></td> <!-- <td><font size='-1'><a target="_blank" href="../search/">SEARCH<br />epguides<br />& TV.com</a></font></td> <td><font size='-1'><a href="../FAQ/">FAQ</a></font></td> <td><font size='-1'><a href="../menu/">All<br />Show☻ # Air Date Titles _____ ______ ___________ ___________ ___________________________________________ Pilot P- 1 100 10 May 07 <a target="_blank" href="http://www.tv.com/traveler/pilot/episode/738343/summary.html">Pilot</a> Season 1 2. 1- 2 101 30 May 07 <a target="_blank" href="http://www.tv.com/traveler/the-retreat/episode/849925/summary.html">The Retreat</a> 3. 1- 3 102 6 Jun 07 <a target="_blank" href="http://www.tv.com/traveler/new-haven/episode/858658/summary.html">New Haven</a> ...
tandis qu'avec d'autres pages cela fonctionne parfaitement :
Suis-je compréhensible ? quelqu'un a une idée d'ou peut venir mon problème ???
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 <pre> Original Episode # Prod # Air Date Titles _____ ______ ___________ ___________ ___________________________________________ Season 1 1. 1- 1 1AFF79 6 Nov 01 <a target="_blank" href="http://www.tv.com/24/1200-a.m.-100-a.m./episode/85396/summary.html">12:00 A.M.-1:00 A.M.</a> 2. 1- 2 1AFF01 13 Nov 01 <a target="_blank" href="http://www.tv.com/24/100-a.m.-200-a.m./episode/85397/summary.html">1:00 A.M.-2:00 A.M.</a> 3. 1- 3 1AFF02 20 Nov 01 <a target="_blank" href="http://www.tv.com/24/200-a.m.-300-a.m./episode/85398/summary.html">2:00 A.M.-3:00 A.M.</a> 4. 1- 4 1AFF03 27 Nov 01 <a target="_blank" href="http://www.tv.com/24/300-a.m.-400-a.m./episode/85399/summary.html">3:00 A.M.-4:00 A.M.</a> ...
Merci d'avance pour votre aide !!!
Partager