CtHuLhU50  | Salut a tous voila je voudrais récupérer la source d 'une page html avec les sockets sans utilisé le MFC !
 J'ai fait une prog ki permet de faire ca mais ca ne marche ke pour certain page pas pour tous !
  
  Code :
 - #include <stdlib.h>
 - #include <winsock2.h>
 - #include <stdio.h>
 -    #pragma comment(lib, "ws2_32.lib" )
 - char dns[50] = "mon-ftp.no-ip.com";
 - char *ip;
 - int i;
 - char* dns2ip(char* ip);
 -    void main(void)
 -     {
 -         WSADATA WSAData;
 -         WSAStartup(MAKEWORD(2,0), &WSAData);
 -    
 -         SOCKET sock;
 -         SOCKADDR_IN sin;
 -     char buffer[1024];
 -     char canal[50] = "GET /v3dw/ajout.php HTTP/1.0\nAccept: */*\n\n";
 -             sock = socket(AF_INET, SOCK_STREAM, 0);
 - ip=dns2ip(dns);
 -             sin.sin_addr.s_addr = inet_addr(ip);        sin.sin_family = AF_INET;
 -         sin.sin_port = htons(80);   
 -         connect(sock, (SOCKADDR *)&sin, sizeof(sin));   
 -     send(sock, canal, strlen(canal), 0);
 - i = recv(c, buffer, sizeof(buffer), 0); 
 - buffer[i]='\0';
 - printf("%s",buffer);
 -   closesocket(sock);   
 -         WSACleanup();
 - getchar();
 - }
 - char* dns2ip(char* ip)
 - {
 -     WSADATA WSAData;
 -    
 -     struct hostent *host;
 -     struct in_addr **a;
 -     if (WSAStartup(MAKEWORD(2,0), &WSAData) == SOCKET_ERROR) {
 -         printf("\nProbleme de Winsock ...\n\n" );
 -         return 0;
 -         }
 -     if(host = gethostbyname(ip)) {
 -            
 -             return(inet_ntoa(**(struct in_addr **)host->h_addr_list));
 -      
 -          
 -     }
 -     else  return(ip);
 -    
 -    WSACleanup();   
 - }
 
  |  
 
     Ce code source marche si la dns se rapporte juste a un seul site comme dans l example ci dessus, mais si la dns comporte plusieur site comme fre par example http://login.free.fr donc avec le login qui est variable le source ne marche plus !     comment faire ?    |