QT: 웹 소스 코드 쉽게 가 져 오기

1496 단어 QT 작은 예
웹 페이지 소스 코드 를 가 져 오 는 작은 예 는 코드 가 간단 해서 설명 을 많이 하지 않 습 니 다.
그러나 반드시 웹 페이지 의 인 코딩 문 제 를 주의해 야 한다. 그렇지 않 으 면 난 장 판이 발생 할 것 이다!!
#include     
#include     
  
//        
const QString URLSTR = "http://www.csdn.net/";    
//             
const QString FILE_NAME = "code.html";    
  
int main(int argc, char **argv)    
{    
    QCoreApplication app(argc, argv);    
    QUrl url(URLSTR);    
    QNetworkAccessManager manager;    
    QEventLoop loop;    
    QTextCodec *codec;  
    QNetworkReply *reply;  
  
    qDebug() << "Reading html code form " << URLSTR;    
    reply = manager.get(QNetworkRequest(url));    
    //          ,           
    QObject::connect(reply, SIGNAL(finished()), &loop, SLOT(quit()));    
    //           
    loop.exec();    
  
    //    ,    
	QFile file(FILE_NAME);  
	if( !file.open(QIODevice::WriteOnly | QIODevice::Text) )
	{
		qDebug() << "Cannot open the file: " << FILE_NAME;
		return 0;
	}
	QTextStream out(&file);  
	QString codeContent = reply->readAll();  

	//             
	//         ,          
	codec = QTextCodec::codecForHtml(codeContent.toAscii());  
	codeContent = codec->toUnicode(codeContent.toAscii());  
	out.setCodec(codec);
	out << codeContent << endl;  
	file.close();  
	qDebug() << "Finished, the code have written to " << FILE_NAME;    
    return 0;    
}    

좋은 웹페이지 즐겨찾기