C++ 如何获取URL的状态?

C++ 如何获取URL的状态?,c++,qt,qnetworkaccessmanager,qnetworkreply,qnetworkrequest,C++,Qt,Qnetworkaccessmanager,Qnetworkreply,Qnetworkrequest,我正在使用Qt,我应该做的是给我一个包含我的URL的QString,在打开页面之前,我想知道这是否可以访问 我阅读了QNetworkReply的文档,发现不同类型的错误有不同的代码,例如:在服务器上找不到远程内容->代码203 问题是:从我的QString开始,如何获取这些代码值?在打开页面之前,如何知道是否可以访问这些值 这不是你可以事先知道的事情,而是一种尝试和错误: 提出请求 检查错误 获取错误代码 我该怎么做 让我们从下面的例子: 现在在MyClass::Slotror的实现中,编写:

我正在使用Qt,我应该做的是给我一个包含我的URL的QString,在打开页面之前,我想知道这是否可以访问

我阅读了QNetworkReply的文档,发现不同类型的错误有不同的代码,例如:在服务器上找不到远程内容->代码203

问题是:从我的QString开始,如何获取这些代码值?

在打开页面之前,如何知道是否可以访问这些值


这不是你可以事先知道的事情,而是一种尝试和错误:

提出请求 检查错误 获取错误代码
我该怎么做

让我们从下面的例子:

现在在MyClass::Slotror的实现中,编写:


这应该打印错误代码(如果有)。

offtopic bro但未找到的资源应该是404,在Qt文档的enum QNetworkReply::NetworkError部分中,它说404状态的对应代码是203。我想这不是您可以事先知道的,而是一个尝试和错误。发出请求,检查错误,获取错误代码。应该是这样的,我怎么做?
QNetworkAccessManager *manager = new QNetworkAccessManager(this);
QNetworkRequest request;

request.setUrl(QUrl("http://put.your-url.here"));

QNetworkReply *reply = manager->get(request);

connect(reply, &QIODevice::readyRead, this, &MyClass::slotReadyRead);
connect(reply, &QNetworkReply::errorOccurred,
        this, &MyClass::slotError);
connect(reply, &QNetworkReply::sslErrors,
        this, &MyClass::slotSslErrors);
qDebug() << static_cast<QNetworkReply *>(sender())->error();