QT POST/GET 发送/获取网页数据
#include <QNetworkReply>
#include <QNetworkRequest>
QNetworkAccessManager *m_accessManager;
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
m_accessManager = new QNetworkAccessManager(this);
QObject::connect(m_accessManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(finishedSlot(QNetworkReply*)));
}
Widget::~Widget()
{
delete ui;
delete m_accessManager;
}
void Widget::finishedSlot(QNetworkReply *reply)
{
if (reply->error() == QNetworkReply::NoError)
{
QByteArray bytes = reply->readAll();
qDebug()<<bytes;
QString string = QString::fromUtf8(bytes);
ui->textBrowser->setText(string.toUtf8());
}
else
{
qDebug()<<"handle errors here";
QVariant statusCodeV = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute);
//statusCodeV是HTTPserver的对应码,reply->error()是Qt定义的错误码,能够參考QT的文档
qDebug( "found error ....code: %d %d\n", statusCodeV.toInt(), (int)reply->error());
qDebug(qPrintable(reply->errorString()));
}
reply->deleteLater();
}
void Widget::on_pushButton_clicked()
{
//POST
QNetworkRequest request;
request.setUrl(QUrl("http://localhost:8888/login"));
// request.setHeader(QNetworkRequest::ContentTypeHeader,"application/x-www-form-urlencoded");
// request.setRawHeader("Accept","text/html, application/xhtml+xml, */*");
// request.setRawHeader("Referer","http://localhost:8888/login");
// request.setRawHeader("Accept-Language","zh-CN");
// request.setRawHeader("X-Requested-With","XMLHttpRequest");
// request.setRawHeader("User-Agent","Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)");
// request.setRawHeader("Content-Type","application/x-www-form-urlencoded");
// request.setRawHeader("Accept-Encoding","gzip,deflate");
// request.setRawHeader("Host","localhost:8888");
// request.setRawHeader("Content-Length","18");
// request.setRawHeader("Connection","Keep-Alive");
// request.setRawHeader("Cache-Control","no-cache");
QByteArray postData;
postData.append("myname=lk&mypwd=33");
QNetworkReply* reply = m_accessManager->post(request,postData);
}
void Widget::on_pushButton_get_clicked()
{
//GET
// QUrl url("https://kyfw.12306.cn/otn/resources/js/framework/station_name.js");
// QUrl url("http://localhost:8888/login");
// QUrl url("http://dict.baidu.com/s?
wd=name");
QNetworkRequest request;
request.setUrl(QUrl("http://dict.baidu.com/s?wd=name"));
m_accessManager->get(request);
}
QT POST/GET 发送/获取网页数据的更多相关文章
- 【转】如何在Windows+VS2005使用最新静态libcurl 7.35.0获取网页数据,支持HTTPS
地址: http://blog.csdn.net/hujkay作者:Jekkay Hu(34538980@qq.com)关键词:Windows,curl,ssl, visual c++ 2005, ...
- 在php中分别使用curl的post提交数据的方法和get获取网页数据的方法
在php中分别使用curl的post提交数据的方法和get获取网页数据的方法整理分享一下额,具体代码如下: (1)使用php curl获取网页数据的方法: $ch=curl_init(); //设置选 ...
- UWP 使用HttpClient获取网页数据
我的App自然灾害中,为了展示地震的各种信息,就需要从网页上获取地震源数据. 如图所示,我们需要展示 地震等级.地震发生时间.经纬度.震源深度.地震位置等信息. 那么,假设给了一个地震的源,中国地震台 ...
- 使用HttpClient进行Get方式通信(使用HttpGet获取网页数据)
1.项目结构 导入jar包 jar包去官网下载解压后项目新建lib目录,将解压包中的lib目录中的zip拷入项目lib目录文件夹,然后build path-->配置到项目中 2.TestGet. ...
- uniCloud爬虫获取网页数据
'use strict'; let request = require('request') let cheerio = require('cheerio'); //爬虫 let iconv = re ...
- C# 获取网页数据、获取本机IP 分类: C# 2014-12-16 14:59 308人阅读 评论(0) 收藏
说明: (1) http://www.3322.org/dyndns/getip 这个网址可以获取本机IP,读取的内容就是本机IP (2)方法经测试,可以实现. (3)参考:http://www.cn ...
- VB中获取网页数据
以下是在Microsoft Visual Basic 6.0 中文版下做的 VB可以抓取网页数据,所用的控件是Inet控件. 第一步:单击工程-->部件 选择Microsoft Internet ...
- 获取豆瓣电影数据(R与API获取网页数据)
一般成熟的网站都会有反爬虫策略,例如限制访问次数,限制访问 IP,动态显示数据等.爬虫和反爬虫就是一直相爱相杀地互相钳制.如果要通过爬虫来获取某些大型网站的数据,那是一件很费时费力的活.小白总遭遇过在 ...
- JSON - 使用cJSON 解析Qt通过UDP发送的JSON数据
1,cJSON支持在C程序中创建和解析JSON数据,其提供多种方法供C程序使用,最直接的是将cJSON.c和cJSON.h加入到C工程中,源代码:https://github.com/DaveGamb ...
随机推荐
- linux驱动基础系列--linux spi驱动框架分析
前言 主要是想对Linux 下spi驱动框架有一个整体的把控,因此会忽略某些细节,同时里面涉及到的一些驱动基础,比如平台驱动.设备模型等也不进行详细说明原理.如果有任何错误地方,请指出,谢谢! spi ...
- Linux 下编译安装OpenCV【转】
转自:http://www.cnblogs.com/emouse/archive/2013/02/22/2922940.html OpenCV 2.2以后版本需要使用Cmake生成makefile文件 ...
- Centos 7.2 双网卡绑定之踩坑
线上服务器,安装centos7.2 x64最小化安装,需要做链路聚合,双网卡绑定.在centos 6.x 和 centos 7上测试都OK,于是直接开搞. 说明下,以下环境是在虚拟机中实现的: 系统: ...
- Selenium2+python自动化73-定位的坑:class属性有空格【转载】
前言 有些class属性中间有空格,如果直接复制过来定位是会报错的InvalidSelectorException: Message: The given selector u-label f-dn ...
- serialVersionUID的作用(zz)
http://www.cnblogs.com/guanghuiqq/archive/2012/07/18/2597036.html 简单来说,Java的序列化机制是通过在运行时判断类的serialVe ...
- 如何在qt中使用中文输入法
参考: http://blog.csdn.net/u013812682/article/details/52101088 dpkg -L fcitx-frontend-qt5 到qt安装目录里find ...
- Unable to connect to vulnerability scanner
问题: "Unable to connect to vulnerability scanner. If the system has been updated recently the ...
- 前端通过form表单构造带参数url
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- HDU 3045 Picnic Cows
$dp$,斜率优化. 设$dp[i]$表示$1$至$i$位置的最小费用,则$dp[i]=min(dp[j]+s[i]-s[j]-(i-j)*x[j+1])$,$dp[n]$为答案. 然后斜率优化就可以 ...
- hihocoder1062 最近公共祖先·一
#1062 : 最近公共祖先·一 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho最近发现了一个神奇的网站!虽然还不够像58同城那样神奇,但这个网站仍然让小Ho乐在 ...