Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    3

    [C/C++] leggere pagine internet

    ciao a tutti, vorrei fare un programmino in C che sia in grado di leggere pagine internet, ma cercando su google non ho trovato come fare...
    L'idea sarebbe di avere una funizone del tipo

    puntatore=fopen("www.pincopallino.org/ciao.html","r");

    qualcuno può aiutarmi??

  2. #2
    Dovresti studiarti le socket, il protocollo HTTP, ecc...


  3. #3
    -Xant
    [White Thoughts - What Happens Inside Us]
    [myxperiments projects and contacts page]

  4. #4
    in realtà non hai bisogno di scomodare i socket, però solo se lavori su linux, per windows ti dovrà consigliare qualcun altro (anche se penso sia possibile).
    Esiste un programma che si chiama wget che riceve come argomento un url e mette nello standar output il file richiesto.
    Puoi mettere nel tuo programma in pipe wget utilizzando popen. il programma ti restituisce il file che puoi leggere come leggessi normalmente da un input.
    ciao
    sergio

  5. #5
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,565
    Se usi windows, includendo urlmon.h puoi usare UrlDownloadToFile
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    3
    cercando su internet ho trovato questo

    http://www.codeguru.com/forum/showthread.php?t=418769

    ma da me nn funziona, anche se uso anch'io dev-c++: riesce a compilare il tutto, ma il file nn compare :/

  7. #7
    ma questa libreria condivisa la hai installata?
    urlmon.dll

    ciao
    sergio

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    3
    non l'ho installata, su internet ho letto che con dev-c++ non posso installare la libreria urlmon...
    cmq il programma prova a connettersi ad internet perchè interviene l'antivirus... anche se di fatto io ho solo messo la dll nella stessa cartella...
    scusate la mia niubbaggine, sono ancora alle prime armi con la programmazione...

  9. #9
    >> ciao a tutti, vorrei fare un programmino in C che sia in
    >> grado di leggere pagine internet, ma cercando su
    >> google non ho trovato come fare...

    > Dovresti studiarti le socket, il protocollo HTTP, ecc...

    ...E magari fare il giro del mondo a piedi dopo essere passato su delle braci ardenti e aver studiato ASM 12 anni per capire meglio cosa succede a basso livello quando si esegue una richiesta HTTP.
    Il punto è che semplicemente non dovrebbe utilizzare nè C nè C++.
    In python, ad esempio:

    codice:
    >>> import urllib
    >>> f = urllib.urlopen('http://www.google.it')
    >>> f.read()
    ...e hai il codice della pagina, senza bisogno di cercare l'albero più vicino a cui legare una corda insaponata e appenderti.
    Rilasciata Python FTP Server library 0.5.1
    http://code.google.com/p/pyftpdlib/

    We'll be those who'll make the italian folks know how difficult can be defecating in Southern California without having the crap flying all around the house.

  10. #10
    Hmm... io, ripeto, utilizzerei la tecnica dei sockets/winsocks. So che il C/C++ non è nato per questo, ma può. Ecco perchè si dice che sia un linguaggio potente...
    Comunque, tornando a noi: si stabilisce una connessione con l'host remoto, si effettua la richiesta http (e toccherebbe andare a vedere come si effettua tale richiesta) e si legge byte per byte tutto ciò che si riceve... et voilà, pagina web.

    Il problema è che non è così semplice. Lavorare con i sockets in C/C++ non è come cominciare a studiarsi le liste, le code, le pile... o studiarsi come funziona il for. E' quasi come imparare ad usare nuove API... ma ok, ora comincio a divagare. Dico solo che è piuttosto complicato... credo si dovrebbe conoscere un minimo di networking, il modo in cui il SO gestisce i processi (perchè credo dovrai creare più di un processo), etc... insomma, ci vuole impegno ma si può fare.
    -Xant
    [White Thoughts - What Happens Inside Us]
    [myxperiments projects and contacts page]

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.