1 // httppostdemo.h 2 #ifndef HTTPPOSTDEMO_H 3 #define HTTPPOSTDEMO_H 4 5 #include 6 #include 7 #include 8 9 namespace Ui {10 class HttpPostDemo;11 }12 13 class HttpPostDemo : public QMainWindow14 {15 Q_OBJECT16 17 public:18 explicit HttpPostDemo(QWidget *parent = 0);19 ~HttpPostDemo();20 21 private slots:22 void on_pushButton_clicked();23 void slotFinished(QNetworkReply *reply);24 25 private:26 Ui::HttpPostDemo *ui;27 QNetworkAccessManager *m_manager;28 };29 30 #endif // HTTPPOSTDEMO_H
1 // httppostdemo.cpp 2 #include "httppostdemo.h" 3 #include "ui_httppostdemo.h" 4 5 #include 6 #include 7 8 HttpPostDemo::HttpPostDemo(QWidget *parent) : 9 QMainWindow(parent),10 ui(new Ui::HttpPostDemo)11 {12 ui->setupUi(this);13 14 m_manager = new QNetworkAccessManager(this);15 connect(m_manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(slotFinished(QNetworkReply*)));16 }17 18 HttpPostDemo::~HttpPostDemo()19 {20 delete ui;21 }22 23 void HttpPostDemo::slotFinished(QNetworkReply *reply)24 {25 qDebug() << reply->readAll();26 }27 28 void HttpPostDemo::on_pushButton_clicked()29 {30 QNetworkRequest *req = new QNetworkRequest();31 req->setUrl(QUrl("http://zc.7k7k.com/post_login"));32 req->setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded; charset=UTF-8");33 req->setRawHeader("Accept","application/json, text/javascript, */*; q=0.01");34 req->setRawHeader("Accept-Language","zh-CN,zh;q=0.8");35 req->setRawHeader("X-Requested-With","XMLHttpRequest");36 req->setRawHeader("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36");37 req->setRawHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");38 // req->setRawHeader("Accept-Encoding","gzip,deflate");39 req->setRawHeader("Host","zc.7k7k.com");40 req->setRawHeader("Connection","Keep-Alive");41 req->setRawHeader("Cache-Control","no-cache");42 QByteArray data;43 data.append("username=username&password=password&autologin=checked&rf=http://www.7k7k.com/#bottom");44 m_manager->post(*req, data);45 }
1 // main.cpp 2 #include "httppostdemo.h" 3 #include 4 5 int main(int argc, char *argv[]) 6 { 7 QApplication a(argc, argv); 8 HttpPostDemo w; 9 w.show();10 11 return a.exec();12 }