Как я могу отправлять запросы через два сетевых интерфейса с помощью QtWebkit? Тестовый код, похоже, использует тот же интерфейс. Вопрос в том:
- Заботится ли webkit о
QNetworkSession
?: - Если нет, как я могу заставить webkit использовать определенный сетевой интерфейс?
Образец кода:
// main.cpp
QList<QNetworkSession*> sessions;
QList<QNetworkConfiguration> configs = configManager.allConfigurations(QNetworkConfiguration::Active);
foreach (const QNetworkConfiguration& config, configs) {
sessions << new QNetworkSession(config);
qDebug() << "Preparing network session on " << config.name();
}
foreach (QNetworkSession* session, sessions) {
QWebPage* page = new QWebPage();
PageViewer* viewer = new PageViewer(0);
QObject::connect(page,SIGNAL(loadFinished(bool)),viewer,SLOT(showResults(bool)));
viewer->setPage(page);
page->setNetworkAccessManager(&accessManager);
session->open();
qDebug() << "Internal IP reported by the interface is:\t\t"
<< session->interface().addressEntries().at(0).ip().toString();
session->waitForOpened();
page->mainFrame()->load(QUrl("http://wtfismyip.com/text"));
session->close();
}
// page-viewer.cpp
void PageViewer::showResults(bool results)
{
qDebug() << "External IP reported by `http://wtfismyip.com/text' is:\t" <<
this->page->mainFrame()->toPlainText().trimmed();
}