如何解决如何获取URL的状态?
我正在使用Qt,应该给我一个包含我的URL的QString
,在打开页面之前,我想知道它是否可以访问。
我阅读了QNetworkReply
的文档,发现针对不同类型的错误有不同的代码(例如:在服务器上找不到远程内容->代码203)。
问题是:从我的QString
开始,如何获得这些代码值?
解决方法
在打开页面之前如何知道是否可以访问?
这不是您可能事先知道的,而是反复的尝试:
- 提出请求
- 检查错误
- 获取错误代码
我该怎么做?
让我们以documentation为例:
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,&MyClass::slotError);
connect(reply,&QNetworkReply::sslErrors,&MyClass::slotSslErrors);
现在在执行MyClass::slotError
时,写:
qDebug() << static_cast<QNetworkReply *>(sender())->error();
这应该打印错误代码(如果有的话)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。