Download File Da Pag Web

di il
9 risposte

Download File Da Pag Web

In giro per internet, ho trovato questo algoritmo, scritto in c++, per scaricare il codice html di una pag web.
Il problema è che non mi funziona, e non riesco a capire perchè..
Qualcuno potrebbe illuminarmi?

#include "stdafx.h"
#include <urlmon.h>
#include <iostream>
#include <fstream>

using namespace std;
int main(int argc, char* argv[])
{
	char webAddress[256];
	char szFileName[80] = "result.html";

	cout << "Please enter web address: ";	// example: http://google.com
	cin >> webAddress;

	HRESULT hr = URLDownloadToFile(NULL, webAddress, szFileName,0, NULL);

	if (hr == S_OK)
	{
		cout << "Success!\n";
		// Open the file and print it to the console window
		// Since the file was just written, it should still be in cache somewhere.
		ifstream fin(szFileName);
		char szBuff[2048];

		while(fin.getline(szBuff, 2048))
		{
			cout << szBuff << "\n";
		}
	}
	else
	{
		cout << "Operation failed with error code: " << hr << "\n";
	}

	return 0;
}
PS:Qualcuno potrebbe spiegarmi perchè la prima libreria è scritta così
#include "stdafx.h" 
invece che così
#include <stdafx.h> 
??

PS2: L'errore che mi da è questo : C:\Users\User\Desktop\collect2.exe [Error] ld returned 1 exit status

9 Risposte

  • Re: Download File Da Pag Web

    Per il primo quesito: Semplicemente perchè è un file diciamo così nella "directory del progetto" e non nella cartella include di VC.

    L'errore che ti da sinceramente non ho capito quale sia, ma in ogni caso proprio ieri mi imbattevo anche io in questa funzione e ti posto una variante adattata per quello che devi farci tu
    
    #include "stdafx.h"
    #include <iostream>
    #include <string>
    #include <string.h>
    #include <fstream>
    #include <tchar.h>
    #include <urlmon.h>
    #pragma comment(lib, "urlmon.lib")
    
    using namespace std;
    
    void download(char* sito, char* fSalvato)
    {
    	URLDownloadToFile ( NULL, _T(sito), _T(fSalvato), 0, NULL );
    	ifstream infile;
    	char ch;
    	infile.open (fSalvato);
    	while(!infile.eof())
    	{
    		infile.get(ch);
    		cout << ch;
    	}
    	infile.close();
    }
    
    int main()
    {
    	download("http://www.google.com/","miofile.html");
    	system("PAUSE");
    }
    
    Fanne buon uso.
    PS: Codice testato e funzionante in VC 2010.
    PS2: Se ti danno errore gli identificatori _T vai nel menu in alto in:
    Progetto > Proprietà
    nella tabella a sinistra seleziona:
    Proprietà di Configurazione > Generale
    Nelle varie voci troverai: "Set di Caratteri", settalo come: "Utilizza set di caratteri multibyte" .

    Ciao ciao, spero di esserti stato utile.
  • Re: Download File Da Pag Web

    Forse sono io che non ci capisco molto, e infatti è così..
    Sono alle prime armi con il c++, un po di cose le capisco, ma non riesco nemmeno a far funzionare questo codice
    Io uso il dev c++, ma non funge..
    Mi da questo errore:
    
    28	52	C:\Users\007\Desktop\SenzaTitolo51.cpp	[Warning] deprecated conversion from string constant to 'char*' [-Wwrite-strings]
    Non potresti postarmi un semplice codice che mi fa scaricare file da una pag web?
    Anche se in realtà, a me interessa più l'html della pag.
    Ti prego, salvami tu
    Sto impazzendo tentando di far funzionare un dannato codice--
  • Re: Download File Da Pag Web

    Ma scusami non puoi usare Visual C++ 2010 Express che è anche gratuito?
  • Re: Download File Da Pag Web

    Ho scaricato Visual C (Che non conoscevo per niente), ho messo il codice, avviato con f 5, ma mi da il seguente errore :
    1>02.cpp(14): error C2065: 'Lsito' : undeclared identifier
    1>02.cpp(14): error C2065: 'LfSalvato' : undeclared identifier
    Che posso fare??
    PS:Grazie per la tua pazienza..

    UP: Ho seguito il consiglio che mi hai dato nel post precedente, e sembra funzionare
  • Re: Download File Da Pag Web

    Cosa è Lsito? E LfSalvato?
  • Re: Download File Da Pag Web

    Visto?
    In ogni caso scaricati visual C++ : http://go.microsoft.com/?linkid=970995
  • Re: Download File Da Pag Web

    Già scaricato
    Grazie per avermi salvato D:
    E' una settimana che impazzisco a cercare qualcosa che mi funzionasse
    Non userò più il dev c++ u.u
    Grazie mille ancora

    Per Oregon:
    Dava errore con le variabili sito e fSalvato, ma non so perchè.
  • Re: Download File Da Pag Web

    Forse perché con il DevC++ ci avevi messo una L davanti ... )
  • Re: Download File Da Pag Web

    Di nulla, alla prossima
Devi accedere o registrarti per scrivere nel forum
9 risposte