Qt---QTcpSocket连接http服务器

这里写图片描述

tcp.pro

#-------------------------------------------------
#
# Project created by QtCreator 2016-06-29T20:24:24
#
#-------------------------------------------------

QT       += core network
QT       -= core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = tcp
CONFIG += console
CONFIG -= app_bundle

TEMPLATE = app


SOURCES += main.cpp\
    client.cpp

HEADERS  += \
    client.h

client.h

#ifndef CLIENT_H
#define CLIENT_H
#include <QTcpSocket>

class Client: public QObject
{
    Q_OBJECT
 public:
    Client(): m_socket(0){}
    ~Client(){}
    void startConnect(QString host, quint16 prot);  //连接主机

 protected slots:
    void onConnected(); //发送
    void onReadyRead();  //读取

 private:
    QTcpSocket *m_socket;
};

#endif

client.cpp

#include "client.h"
#include <QDebug>

void Client::startConnect(QString host, quint16 port)
{
    m_socket = new QTcpSocket(this);
    connect(m_socket, SIGNAL(connected()), this, SLOT(onConnected()));
    connect(m_socket, SIGNAL(readyRead()), this, SLOT(onReadyRead()));
    m_socket->connectToHost(host, port);  //连接主机
}

void Client::onConnected()
{
    m_socket->write("GET / HTTP/1.1\r\n\r\n");  //向服务器端发送数据,http头部
}

void Client::onReadyRead()  //接收数据
{
    qDebug() << m_socket->readAll();  //打印出来
}

main.cpp

#include "mainwindow.h"
#include "client.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Client client;
    client.startConnect("www.baidu.com", 80);

    return a.exec();
}

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值