Je suis en train d'utiliser Qt pour télécharger le code html de l'adresse suivante:Comment puis-je utiliser Qt pour obtenir le code html de la page redirigée?
http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=nucleotide&cmd=search&term=AB100362
cette URL re-direct à
www.ncbi.nlm.nih.gov/nuccore/27884304
J'essaie de le faire en suivant le chemin, mais je ne peux rien obtenir. cela fonctionne pour une page Web telle que www.google.com, mais pas pour cette page NCBI. est-il possible d'obtenir cette page ??
QNetworkReply::NetworkError downloadURL(const QUrl &url, QByteArray &data)
{
QNetworkAccessManager manager;
QNetworkRequest request(url);
QNetworkReply *reply = manager.get(request);
QEventLoop loop;
QObject::connect(reply, SIGNAL(finished()), &loop, SLOT(quit()));
loop.exec();
if (reply->error() != QNetworkReply::NoError)
{
return reply->error();
}
data = reply->readAll();
delete reply;
return QNetworkReply::NoError;
}
void GetGi()
{
int pos;
QString sGetFromURL = "http://www.ncbi.nlm.nih.gov/entrez/query.fcgi";
QUrl url(sGetFromURL);
url.addQueryItem("db", "nucleotide");
url.addQueryItem("cmd", "search");
url.addQueryItem("term", "AB100362");
QByteArray InfoNCBI;
int errorCode = downloadURL(url, InfoNCBI);
if (errorCode != 0)
{
QMessageBox::about(0,tr("Internet Error "), tr("Internet Error %1: Failed to connect to NCBI.\t\nPlease check your internect connection.").arg(errorCode));
return "ERROR";
}
}
Veuillez poster votre code pour traiter la redirection. Sans cela, tout ce que vous obtiendrez ici sera une conjecture. –