精英盒子 -> 程序设计 -> 用QT,通过Post方式抓取网页教程 [打印本页]

jybox 2011-08-23 17:56

用QT,通过Post方式抓取网页教程

本文是接着"QT使用GET方式抓取网页源码-教程"写的,请先去看这一篇http://jybox.net/bbs/read.php?tid=127


为了确定是否成功发送了post,需要用到一个php页面,就是http://jybox.net/cs.php,该页面用来显示所有收到的get、post等信息,该网页源码如下:
  1. <?php
    session_start();
    echo "<pre>";
    print_r($_GET);
    print_r($_POST);
    print_r($_COOKIE);
    print_r($_SESSION);
    ?>
    </pre>
QT方面和Get的版本变动不大,所以不一一重写了,只写widget.cpp的内容:
  1. #include "widget.h"
    #include "ui_widget.h"
    #include <QTextCodec>
    Widget::Widget(QWidget *parent):QWidget(parent),ui(new Ui::Widget)
    {
        ui->setupUi(this);
        //字符集
        QTextCodec::setCodecForTr(QTextCodec::codecForName("utf8"));

        QByteArray content="用户名=jybox&密码=********";
        int contentLength=content.length();
        manager= new QNetworkAccessManager(this);
        QNetworkRequest request ;
        request.setUrl(QUrl(QString::fromUtf8("http://jybox.net/cs.php?do=login&王子亭")));
        request.setHeader(QNetworkRequest::ContentTypeHeader,"application/x-www-form-urlencoded");
        request.setHeader(QNetworkRequest::ContentLengthHeader,contentLength);
        reply = manager->post(request,content);
        connect(reply, SIGNAL(finished()), this, SLOT(ReadyRead()));
    }
    Widget::~Widget()
    {
        delete ui;
    }
    void Widget::ReadyRead()
    {
        ui->tB->setText(QString::fromUtf8(reply->readAll()));
    }
最后是效果图
[attachment=28]



jybox 2011-08-23 17:58
看来bs算研究完了,下面去研究cs了!!

abreto 2012-01-08 22:47
我post过去不是想获得源码,而是效果呢?
交给浏览器渲染?..

whtsky 2012-01-08 23:58
第2楼abreto于2012-01-08 22:47发表的:
我post过去不是想获得源码,而是效果呢?
交给浏览器渲染?..
qt有webkit控件,丢给它

scxyscxy 2012-01-09 18:21
挖坟...

abreto 2012-01-10 19:56
whtsky:qt有webkit控件,丢给它 (2012-01-08 23:58) 

怎么扔..

whtsky 2012-01-10 20:06
http://blog.csdn.net/liuhongwei123888/article/details/6111434

jybox 2012-01-11 00:52
whtsky:http://blog.csdn.net/liuhongwei123888/article/details/6111434 (2012-01-10 20:06) 

好东西...




Powered by phpwind v8.7 Code ©2003-2011 phpwind
Time 0.050071 second(s),query:5 Gzip enabled