Qt發送HTTP請求

來源:互聯網
上載者:User

標籤:sign   network   else   byte   setup   let   ini   cpp   out   

mainwindow.h

#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <QNetworkReply>#include <QTimer>namespace Ui {class MainWindow;}class MainWindow : public QMainWindow{    Q_OBJECTpublic:    explicit MainWindow(QWidget *parent = 0);    ~MainWindow();private slots:    void scanURLIsOK();    void replyFinish(QNetworkReply*); //用於處理響應返回的資料    void on_pushButton_clicked();private:    Ui::MainWindow *ui;    QTimer* scanTimer;};#endif // MAINWINDOW_H

mainwindow.cpp

#include "mainwindow.h"#include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent) :    QMainWindow(parent),    ui(new Ui::MainWindow){    ui->setupUi(this);    scanTimer = new QTimer(this);    //connect( scanTimer, &QTimer::timeout, this, &MainWindow::scanURLIsOK );    scanTimer->start( 1000*5 );  // for 100fps}MainWindow::~MainWindow(){    delete ui;}void MainWindow::scanURLIsOK(){    QNetworkAccessManager *manager = new QNetworkAccessManager(this);    QNetworkRequest request;    // 發送https請求前準備工作;    QSslConfiguration config;    QSslConfiguration conf = request.sslConfiguration();    conf.setPeerVerifyMode(QSslSocket::VerifyNone);    conf.setProtocol(QSsl::TlsV1SslV3);    request.setSslConfiguration(conf);    //request.setUrl(QUrl("http://www.urlshare.cn/umirror_url_check?url=http://www.fgggg.com"));    request.setUrl(QUrl("http://www.hugedomains.com"));    QNetworkReply* reply = manager->get(request);    connect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(replyFinish(QNetworkReply*)));}void MainWindow::replyFinish(QNetworkReply *reply){    if(reply && reply->error() == QNetworkReply::NoError) {        QByteArray data = reply->readAll();        int len = data.size();        QString s=QString::fromStdString(data.toStdString());        qDebug() << s;    } else {        qDebug() << reply->errorString();    }    reply->close();}void MainWindow::on_pushButton_clicked(){    scanURLIsOK();}

 

Qt發送HTTP請求

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.