Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 25
  1. #11
    come uso questa parte di codice? mi avete detto di guardare la libreria ulrmon ma se ero capace non venivo a chiedere aiuto
    come posso usare questa parte di codice?
    HRESULT URLOpenStream(
    LPUNKNOWN pCaller,
    LPCWSTR szURL,
    DWORD dwReserved,
    LPBINDSTATUSCALLBACK lpfnCB
    );

  2. #12
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Quote Originariamente inviata da jangy22xx Visualizza il messaggio
    piu facile di devc++? ...
    - 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
    Ultima modifica di oregon; 10-07-2014 a 22:10
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #13
    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

  4. #14
    È piuttosto rudimentale come sistema, nel senso, più o meno te la cavi a fare la richiesta, ma tutta la parte di interpretazione del response, gli header, l'eventuale gestione dei cookie & co. manca completamente; per me se usi una delle librerie consigliate fai prima.
    Con URLOpenBlockingStream poi la cosa è veramente questione di due righe:
    http://forum.html.it/forum/showthrea...9#post11543199
    http://forum.html.it/forum/showthrea...1#post13170879 (in una funzione autocontenuta)
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #15
    Quote Originariamente inviata da MItaly Visualizza il messaggio
    È piuttosto rudimentale come sistema, nel senso, più o meno te la cavi a fare la richiesta, ma tutta la parte di interpretazione del response, gli header, l'eventuale gestione dei cookie & co. manca completamente; per me se usi una delle librerie consigliate fai prima.
    Con URLOpenBlockingStream poi la cosa è veramente questione di due righe:
    http://forum.html.it/forum/showthrea...9#post11543199
    http://forum.html.it/forum/showthrea...1#post13170879 (in una funzione autocontenuta)
    grazie ci sono riuscito, in questo modo mi scarica la pagina che io metto nella stringa indirizzo:

    #include <iostream>
    #include <urlmon.h>
    #include <string>
    #pragma comment(lib,"urlmon.lib")
    using namespace std;
    int main()
    {
    string indirizzo;
    IStream * is;
    char buffer[256];
    cout<<"Inserisci l'indirizzo della pagina: ";
    cin>>indirizzo;
    if(URLOpenBlockingStream(NULL,indirizzo.c_str(),&i s,0,NULL)!=S_OK)
    {
    cerr<<"Impossibile effettuare il download del file.";
    }
    else
    {
    cout<<"download OK"<<endl;
    system("Pause");
    ULONG readBytes;
    while(is->Read(buffer,sizeof(buffer),&readBytes)==S_OK)
    {
    cout.write(buffer,readBytes);
    }
    is->Release();
    }
    system("cls");
    system("Pause");
    return 0;
    }



    ma se volessi solo verificare l'avvenuta connessione al server con una risposta positiva, come potrei fare?
    per esempio:
    connessione al server.....
    risposta OK del server... connessione riuscita

  6. #16
    magari lo fa già quando va a scaricare il file.

  7. #17
    mi chiedevo ancora una cosa, è possibile fare tutto ciò passando per un proxy ?

  8. #18
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Non vedo problemi particolari, a meno che il proxy non sia configurato in maniera particolare ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #19
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Non vedo problemi particolari, a meno che il proxy non sia configurato in maniera particolare ...
    no oregon non voglio che usi le impostazioni di IE, vorrei usare il codice per far passare il socket dal proxy, come posso fare?

  10. #20
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ah ... se ho capito questo esempio

    http://www.opensource.apple.com/sour...rsync/socket.c

    può servirti ...
    Ultima modifica di oregon; 13-07-2014 a 02:37
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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.