在使用https的网站上使用qt creator获取一些值

时间:2014-01-11 20:23:38

标签: c++ user-interface network-programming qt-creator

所以我目前正在使用QTCreator 5.0构建一个小应用程序。我试图构建一个允许我连接到网站的应用程序(使用HTTPS而不是HTTP)。到目前为止,我认为我能够得到一些东西,但我遇到了麻烦(当然我确定它与http& https有关,但我不完全确定如何解决它)。

我收到此错误:

QSslSocket: cannot call unresolved function SSLv23_client_method
QSslSocket: cannot call unresolved function SSL_CTX_new
QSslSocket: cannot call unresolved function SSL_library_init
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function ERR_get_error

这是我提出的一些代码:

QString str;
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    m_manager = new QNetworkAccessManager(this);

    connect(m_manager, SIGNAL(finished(QNetworkReply*)),
         this, SLOT(replyFinished(QNetworkReply*)));
}

MainWindow::~MainWindow()
{
    delete ui;
}
void MainWindow::fetch()
{
    m_manager->get(QNetworkRequest(QUrl("https://btc-e.com/api/2/btc_usd/ticker")));
}

void MainWindow::replyFinished(QNetworkReply* pReply)
{
    QByteArray data = pReply->readAll();
    QString str(data);
}

void MainWindow::on_pushButton_clicked()
{
    fetch();
    ui->textBrowser->setText(str);
}

我看了How can i get content of web-page,这可能是相关的,但我不完全确定这是否适用于https

谢谢!

1 个答案:

答案 0 :(得分:0)

添加此作为答案:

  1. 您应该链接到openssl。

  2. 您需要将ui->textBrowser->setText移至replyFinished位置。