gpt4 book ai didi

c++ - 尝试使用 Qt 访问 Pastebin 时连接超时

转载 作者:太空宇宙 更新时间:2023-11-04 14:04:29 25 4
gpt4 key购买 nike

一系列失败的尝试让我尝试向 Pastebin 发送一个简单的 GET 请求使用 Qt 5.1 的网站主页:

typedef void (QNetworkReply::*ReplyError)(QNetworkReply::NetworkError);

int main(int argc, char *argv [])
{
QCoreApplication app(argc, argv);

QNetworkAccessManager manager;
QNetworkRequest request(QUrl("http://www.pastebin.com"));
QNetworkReply * reply = manager.get(request);

QObject::connect(reply, &QNetworkReply::finished, [reply] {
qDebug() << reply->readAll();
});

QObject::connect(reply, static_cast<ReplyError>(&QNetworkReply::error),
[reply](QNetworkReply::NetworkError code) {
qDebug() << "Error code : " << code;
qDebug() << "Reply : " << reply->readAll();
qDebug() << "Error string : " << reply->errorString();
qDebug() << "HTTP status : " << reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
});

return app.exec();
}

一段时间后,控制台输出:

Error code   : 99
Reply : ""
Error string : "Connection timed out"
HTTP status : 0

我还发现它让我在大约 10 分钟内被禁止进入他们的网站(除非我更改我的 VPN 位置,否则我无法使用我的浏览器访问该网站)。

我在 python 中尝试了相同的请求,它工作正常。

这里有什么问题?问题来自 Qt 还是 Pastebin?

编辑:

尝试使用 Qt 4.8.5。得到了相同的结果。

编辑2:

将近 2 个月后,我尝试使用相同版本的框架,现在可以使用了。我猜他们在 Pastbin 网站上修复了一些东西......

最佳答案

尝试 this在包括 pastebin 在内的任何 url 上进行简单下载操作的示例。

这是下载管理器的基本实现,但您应该能够根据需要将其剥离。如果此实现也因相同的超时而失败,则可能是 pastebin url 或网络上的 pastebin 可访问性有问题。

此外,在您的代码中,完成和错误信号的连接应该在 manager.get(request) 之前完成。

希望对你有帮助。

关于c++ - 尝试使用 Qt 访问 Pastebin 时连接超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17642119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com