Visualizzazione dei risultati da 1 a 10 su 25

Visualizzazione discussione

  1. #12
    Quote Originariamente inviata da oregon Visualizza il messaggio
    - iostream.h è un file include e non una libreria ...

    - si usa iostream non iostream.h (vecchio)

    - VC++ non è "sballato" e non è così "difficile" da usare. Ti evita tanti problemi ... bisogna solo studiare un minimo di più

    Infine, usare delle API più "complesse" (come la URLOpenStream) significa avere un po' di esperienza (ad esempio conoscere il concetto di puntatori a funzione, ecc...) e quindi, se non sai come fare, non rimane che scrivere tutto il codice al posto tuo. Che, ribadisco, non è banale e non è da 5 minuti ...

    Però puoi studiare e usare questa classe

    Classes for Writing HTTP Clients in C++

    http://www.codeproject.com/Articles/...P-Clients-in-C

    grazie oregon, io avevo trovato questa parte di codice, può essere corretta?

    codice:
    #include <winsock2.h>
    #include <windows.h>
    #include <iostream>
    #pragma comment(lib,"ws2_32.lib")
    using namespace std;
    
    
    
    
    int main ()
    {
        WSADATA wsaData;
        if (WSAStartup(MAKEWORD(2,2), &wsaData) != 0) {
            cout << "WSAStartup failed.\n";
            system("pause");
            return 1;
        }
        SOCKET Socket=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
        struct hostent *host;
        host = gethostbyname("www.google.com");
        SOCKADDR_IN SockAddr;
        SockAddr.sin_port=htons(80);
        SockAddr.sin_family=AF_INET;
        SockAddr.sin_addr.s_addr = *((unsigned long*)host->h_addr);
        cout << "Connecting...\n";
        if(connect(Socket,(SOCKADDR*)(&SockAddr),sizeof(SockAddr)) != 0){
            cout << "Could not connect";
            system("pause");
            return 1;
        }
        cout << "Connected.\n";
        send(Socket,"GET / HTTP/1.1\r\nHost: www.google.com\r\nConnection: close\r\n\r\n", strlen("GET / HTTP/1.1\r\nHost: www.google.com\r\nConnection: close\r\n\r\n"),0);
        char buffer[10000];
        int nDataLength;
        while ((nDataLength = recv(Socket,buffer,10000,0)) > 0){        
            int i = 0;
            while (buffer[i] >= 32 || buffer[i] == '\n' || buffer[i] == '\r') {
                cout << buffer[i];
                i += 1;
            }
        }
        closesocket(Socket);
            WSACleanup();
        system("pause");
        return 0;
    }
    Ultima modifica di MItaly; 10-07-2014 a 23:55 Motivo: Tag CODE

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.