Thanks a lot for the report. I have been working on this bug.
==============================
OT:
This PGN file is strange/hard to download for me even I have tried many ways. I use QT QNetworkAccessManager to download. Usually, it works well with URLs, including SSL URLs. However, I can't download the above link. Program prints error: QNetworkReply::UnknownContentError and then "Not Acceptable".
Does anyone have experience/solution? I have tried to download it manually via web browsers, wget, curl... all work well but not my code
Thanks in advance.
The simplified code as below:
Code: Select all
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = nullptr);
public slots:
void downloadPgnUrlFinished(QNetworkReply *);
void downloadError(QNetworkReply::NetworkError);
void downloadPgnUrl(const QString&);
private:
QNetworkAccessManager manager;
};
////////////
MainWindow::MainWindow(QWidget *parent) :
ConnectWindow(parent)
{
connect(&manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(downloadPgnUrlFinished(QNetworkReply*)));
}
void MainWindow::downloadPgnUrl(const QString& urlString)
{
auto url = QUrl(urlString);
QNetworkRequest request(url);
if (urlString.startsWith("https")) {
auto sslConfig = QSslConfiguration::defaultConfiguration();
sslConfig.setProtocol(QSsl::AnyProtocol);
sslConfig.setPeerVerifyMode (QSslSocket::VerifyNone);
request.setSslConfiguration(sslConfig);
}
auto networkReply = manager.get(request);
connect(networkReply, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(downloadError(QNetworkReply::NetworkError)));
}
void MainWindow::downloadError(QNetworkReply::NetworkError error)
{
qDebug() << "Error: " << error; // <- QNetworkReply::UnknownContentError
}
void MainWindow::downloadPgnUrlFinished(QNetworkReply *reply)
{
if (reply->error()) {
qDebug() << "Error: " << reply->errorString(); // <- "Not Acceptable"
} else {
auto text = QString::fromLocal8Bit(reply->readAll());
qDebug() << "Downloaded text: " << text;
}
delete reply;
}