Advertisement
Guest User

Untitled

a guest
Apr 26th, 2016
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.35 KB | None | 0 0
  1. MainWindow::MainWindow(QWidget *parent) :
  2.     QMainWindow(parent),
  3.     ui(new Ui::MainWindow)
  4. {
  5.     ui->setupUi(this);
  6.     am = new QNetworkAccessManager(this);
  7.        ui->webView->page()->setNetworkAccessManager(am);
  8.  
  9. }
  10.  
  11. MainWindow::~MainWindow()
  12. {
  13.     delete ui;
  14. }
  15.  
  16. void MainWindow::on_pushButton_clicked()
  17. {
  18.     post();
  19. }
  20.    
  21. void MainWindow::post()
  22. {
  23.     QUrl urlDoLogin("http://www.cyberforum.ru");
  24.  
  25.     QString userName=  ui->lineEdit->text();    //  e-mail
  26.     QString password=   ui->lineEdit_2->text();  //  пароль
  27.  
  28.     /* Формирование  запроса на основе пользовательских данных */
  29.     QByteArray postData;
  30.     postData+= "vb_login_username=" +  QUrl::toPercentEncoding( userName.toUtf8() );
  31.     postData+= "&cookieuser=1";
  32.     postData+= "&vb_login_password="+  QUrl::toPercentEncoding( password.toUtf8() );
  33.     postData+= "&s=&securitytoken=guest";
  34.     postData+= "&do=login";
  35.     postData+= "&vb_login_md5password=";
  36.     postData+= "&vb_login_md5password_utf=";
  37.  
  38.     QNetworkRequest request(urlDoLogin);
  39.     request.setHeader(QNetworkRequest::ContentTypeHeader,"application/x-www-form-urlencoded");
  40.     request.setRawHeader("Accept-Encoding","identity"); // Отменяю сжатие что бы, можно было нормально просматривать контент снифером
  41.  
  42.     QNetworkReply* reply= am->post(request,postData);
  43.  
  44.     connect(reply, SIGNAL(finished()), this, SLOT(get()));
  45.  
  46. }
  47.  
  48. void MainWindow::get()
  49. {
  50.      QUrl urlUser("http://www.cyberforum.ru/usercp.php");
  51.  
  52.        QNetworkRequest request(urlUser);
  53.        request.setRawHeader("Accept-Encoding","identity");
  54.  
  55.        QNetworkReply* reply= am->get(request);
  56.  
  57.        connect( reply, SIGNAL(finished()),
  58.                 this, SLOT(replyFinished())
  59.               );
  60. }
  61.  
  62. void MainWindow::replyFinished()
  63. {
  64.     QNetworkReply *reply = qobject_cast<QNetworkReply *>(sender());
  65.   if (reply->error() == QNetworkReply::NoError)
  66.     {
  67.       QByteArray content= reply->readAll();
  68.       QTextCodec *codec = QTextCodec::codecForName("cp1251");
  69.     //  ui->textEdit->setPlainText(codec->toUnicode(content.data()) );
  70.       ui->webView->setUrl(reply->url());
  71.       qDebug()<< codec->toUnicode(content.data());
  72.     }
  73.   else qDebug()<<reply->errorString();
  74.  
  75.   reply->deleteLater();
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement