Pagina 2 di 4 primaprima 1 2 3 4 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 35

Discussione: c++ indirizzo ip

  1. #11
    ok ma a me nn serve tutta la pagina....è possibile solo la riga dell'ip?

  2. #12
    girando ho trovato questo esempio però nn mi stampa niente di coretto....prova a darci un occhiata


    #include <iostream.h>
    #include <winsock.h>

    int main()
    {
    char ac[80];//Il nome
    //Prendo il nome host locale:
    if(gethostname(ac,sizeof(ac)) == SOCKET_ERROR) {
    cerr << "Error" << WSAGetLastError() <<
    "quando si e' tentato di recuperare il nome host locale." << endl;

    }
    //Recupero l'indirizzo dal nome host:
    cout << "Il nome dell'host e':" << ac << "." << endl;
    struct hostent *phe = gethostbyname(ac);
    if(phe == 0) {
    cerr << "L'host utilizzato per il lookup non e' valido" << endl;

    }
    //Questo ciclo for stampa tutti gli indirizzi associati all'host
    //che possono essere più di uno, prelevandoli dalla struttura ritornata:
    for(int i = 0; phe->h_addr_list[i] != 0; ++i) {
    struct in_addr addr;
    memcpy(&addr, phe->h_addr_list[i], sizeof(struct in_addr));
    cout << "Indirizzo: " << i << ":" << inet_ntoa(addr) << endl;
    }
    return 0;
    system("pause");
    }

  3. #13
    ok ma a me nn serve tutta la pagina....è possibile solo la riga dell'ip?
    Questo dipende dalla pagina che usi per ottenere l'IP... alcune restituiscono solo l'IP, altre pagine web più o meno complicate di cui dovrai effettuare il parsing.
    Per inciso, puoi evitare di usare il file di appoggio. Leggi qui.
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #14
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Originariamente inviato da jangy22xx
    girando ho trovato questo esempio però nn mi stampa niente di coretto....
    Questo codice è per gli IP locali non per quello Internet.

    ok ma a me nn serve tutta la pagina....è possibile solo la riga dell'ip?
    Non è che leggere una pagina e cercare dentro l'IP sia difficile ... se non vuoi usare il file, leggi il codice proposto ad MItaly.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #15
    Originariamente inviato da oregon
    Questo codice è per gli IP locali non per quello Internet.



    Non è che leggere una pagina e cercare dentro l'IP sia difficile ... se non vuoi usare il file, leggi il codice proposto ad MItaly.
    no mi va benissimo usare i file il problema ora che con questo codice che ho modificato leggermente non mi salva il file mi fa solo visualizzare il sorgente della pagina sulla console.

    ce qualcosa di sbagliato?


    //Dice al linker di linkare con urlmon.lib (funziona solo con VC++, con altri compilatori aggiungi urlmon.lib ai file da linkare)
    #pragma comment(lib,"urlmon.lib")
    #include <iostream>
    #include <urlmon.h>
    #include <fstream>
    #include <string>
    #include <io.h>
    #define indirizzo "indirizzo sito web"
    using namespace std;
    int main()
    {

    char tempFileName[]="c:\\temp\\temp.tmp";
    char buffer[256];
    _mktemp(tempFileName);
    cout<<"Inserisci l'indirizzo della pagina: ";

    if(URLDownloadToFile(NULL,indirizzo,tempFileName,0 ,NULL)!=S_OK)
    {
    cerr<<"Impossibile effettuare il download del file.";
    }
    else
    {
    ifstream is;
    is.open(tempFileName,ios::in | ios::binary);
    if(!is)
    {
    cerr<<"Impossibile leggere il file scaricato.";
    }
    else
    {
    while(is)
    {
    is.read(buffer,sizeof(buffer));
    cout.write(buffer,is.gcount());
    }
    is.close();
    }
    remove(tempFileName);
    }
    return 0;
    }

  6. #16
    Salva il file eccome, ma in un file temporaneo che alla fine rimuove. Se vuoi salvare il contenuto della pagina su file quello che ti interessa di quel codice è solo la chiamata alla funzione URLDownloadToFile.
    Amaro C++, il gusto pieno dell'undefined behavior.

  7. #17
    Originariamente inviato da MItaly
    Salva il file eccome, ma in un file temporaneo che alla fine rimuove. Se vuoi salvare il contenuto della pagina su file quello che ti interessa di quel codice è solo la chiamata alla funzione URLDownloadToFile.
    a ok hai ragione grazie...ok...e però per salvare sul file solo l'indirizzo ip e non tutta la pagina come devo procedere?scusa le tante domande ma con i file sono alle prime armi

  8. #18
    Come detto sopra, devi effettuare il parsing della pagina per estrarne l'IP (operazione per la quale ti converrebbe utilizzare il metodo per ottenere il codice della pagina in memoria, così da evitare un file temporaneo), oppure cercare un sito che ti restituisca solo il valore dell'IP invece di una pagina HTML che lo contiene. Nel primo caso potresti usare questa, che è particolarmente facile da "smontare".
    Amaro C++, il gusto pieno dell'undefined behavior.

  9. #19
    Originariamente inviato da MItaly
    Come detto sopra, devi effettuare il parsing della pagina per estrarne l'IP (operazione per la quale ti converrebbe utilizzare il metodo per ottenere il codice della pagina in memoria, così da evitare un file temporaneo), oppure cercare un sito che ti restituisca solo il valore dell'IP invece di una pagina HTML che lo contiene. Nel primo caso potresti usare questa, che è particolarmente facile da "smontare".
    ok quella pagina è piu comoda in effetti....un altra cosa ho notato che devo usare visual c++ per compilarlo....con devc++ mi da degli errori...che librerie devo linkare o aggiungere?

  10. #20
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Originariamente inviato da jangy22xx
    ok quella pagina è piu comoda in effetti....un altra cosa ho notato che devo usare visual c++ per compilarlo....con devc++ mi da degli errori...che librerie devo linkare o aggiungere?
    Non devi usare la pragma e devi linkare la libreria liburl.a
    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 © 2024 vBulletin Solutions, Inc. All rights reserved.