久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

我如何獲取網頁的內容

How can i get content of web-page(我如何獲取網頁的內容)
本文介紹了我如何獲取網頁的內容的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我正在嘗試以字符串形式獲取網頁數據,而我無法解析它.我沒有在 qwebview、qurl 和另一個中找到任何方法.你可以幫幫我嗎?Linux、C++、Qt.

i'm trying to get web-page data in string that than i could parse it. I didn't found any methods in qwebview, qurl and another. Could you help me? Linux, C++, Qt.

感謝您的幫助.代碼正在運行,但下載后的某些頁面已損壞字符集.我嘗試過類似的方法來修復它:

Thanks for help. Code is working, but some pages after downloading have broken charset. I tried something like this to repair it:

QNetworkRequest *request = new QNetworkRequest(QUrl("http://ru.wiktionary.org/wiki/bovo"));

request->setRawHeader( "User-Agent", "Mozilla/5.0 (X11; U; Linux i686 (x86_64); "
                       "en-US; rv:1.9.0.1) Gecko/2008070206 Firefox/3.0.1" );
request->setRawHeader( "Accept-Charset", "win1251,utf-8;q=0.7,*;q=0.7" );
request->setRawHeader( "charset", "utf-8" );
request->setRawHeader( "Connection", "keep-alive" );

manager->get(*request);

任何結果 =(.

推薦答案

你看過QNetworkAccessManager?這是一個說明用法的粗略和現成的示例:

Have you looked at QNetworkAccessManager? Here's a rough and ready sample illustrating usage:

class MyClass : public QObject
{
Q_OBJECT

public:
    MyClass();
    void fetch(); 

public slots:
    void replyFinished(QNetworkReply*);

private:
    QNetworkAccessManager* m_manager;
};


MyClass::MyClass()
{
    m_manager = new QNetworkAccessManager(this);

    connect(m_manager, SIGNAL(finished(QNetworkReply*)),
         this, SLOT(replyFinished(QNetworkReply*)));

}

void MyClass::fetch()
{
    m_manager->get(QNetworkRequest(QUrl("http://stackoverflow.com")));
}

void MyClass::replyFinished(QNetworkReply* pReply)
{

    QByteArray data=pReply->readAll();
    QString str(data);

    //process str any way you like!

}

在您的處理程序中 finished 向您發出信號將傳遞一個 QNetworkReply 對象,您可以從中讀取響應它繼承自 QIODevice.一個簡單的方法是調用 readAll 來獲取QByteArray.您可以從該 QByteArray 構造一個 QString 并執行任何操作你想用它來做.

In your in your handler for the finished signal you will be passed a QNetworkReply object, which you can read the response from as it inherits from QIODevice. A simple way to do this is just call readAll to get a QByteArray. You can construct a QString from that QByteArray and do whatever you want to do with it.

這篇關于我如何獲取網頁的內容的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

How can I read and manipulate CSV file data in C++?(如何在 C++ 中讀取和操作 CSV 文件數據?)
In C++ why can#39;t I write a for() loop like this: for( int i = 1, double i2 = 0; (在 C++ 中,為什么我不能像這樣編寫 for() 循環: for( int i = 1, double i2 = 0;)
How does OpenMP handle nested loops?(OpenMP 如何處理嵌套循環?)
Reusing thread in loop c++(在循環 C++ 中重用線程)
Precise thread sleep needed. Max 1ms error(需要精確的線程睡眠.最大 1ms 誤差)
Is there ever a need for a quot;do {...} while ( )quot; loop?(是否需要“do {...} while ()?環形?)
主站蜘蛛池模板: 亚洲精品久久久久久一区二区 | 91精品在线观看入口 | 超碰97人人人人人蜜桃 | 久久精品国产一区二区三区不卡 | 少妇久久久| 黑人巨大精品欧美一区二区免费 | 欧美日韩国产不卡 | 99久久婷婷国产亚洲终合精品 | 国产亚洲高清视频 | 2018国产精品 | 亚洲福利一区二区 | 国产精品三级 | 亚洲欧美日韩国产综合 | 日韩精品a在线观看图片 | 337p日韩| www.夜夜骑| 国产特级毛片aaaaaa | 玖玖在线精品 | 九九九国产 | 国产成人精品免费视频 | 中文字幕日韩在线观看 | 精品视频一区二区 | 欧美又大粗又爽又黄大片视频 | 欧美一级在线观看 | 午夜精品一区二区三区免费视频 | 久草免费福利 | 国产高清在线精品一区二区三区 | 午夜男人天堂 | 国产视频精品视频 | 亚洲福利在线观看 | 欧美aaa级 | 国产精品一级在线观看 | 超碰在线播 | 欧美在线综合 | 2020亚洲天堂 | 欧美日韩国产高清 | 91九色麻豆 | 欧美一级网站 | 在线观看中文字幕dvd播放 | a级大片 | 国产精品3区 |