Всем привет! Тут решил разобраться с сокета в Qt, раньше писал на VB.
В общем хотел приконнектиться к хосту и послать какой либо заголовок и получить ответ от сервера. К примеру коннекчусь к
www.yahoo.com по 80 порту. Посылаю определённый составленный заголовок, а в ответ вообще ни чего не получаю, хотя даже если заголовок будет сформирован неверно должно придти хоть что нибудь.
Привожу код:
C++ (Qt)
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent), ui(new Ui::MainWindowClass)
{
socket = new QTcpSocket(this);
ui->setupUi(this);
connect(socket, SIGNAL(readyRead()), this, SLOT(ReadData()));
connect(this->socket, SIGNAL(connected()), this, SLOT(ConSuc()));
connect(this->socket, SIGNAL(connected()), this, SLOT(SendData()));
QTimer::singleShot(1000, this, SLOT(ConnectToServer()));
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::ConnectToServer()
{
this->socket->connectToHost("www.yahoo.com", 80);
}
void MainWindow::ConSuc()
{
qDebug() << "Connected";
}
void MainWindow::ReadData()
{
qDebug() << "Recieve";
QByteArray block;
block = socket->readAll();
qDebug() << block;
}
void MainWindow::SendData()
{
QString str;
QByteArray ar;
str = "POST HTTP/1.0\r\n"
"Accept: */*\r\n"
"Content-Type: application/x-www-form-urlencoded\r\n"
"Host: www.yahoo.com\r\n"
"Content-Length: 10\r\n"
"Accept-Charset: cp-1251\r\n"
"Connection: Keep-Alive\r\n \r\n";
ar.append(str);
this->socket->write(ar);
qDebug() << "Send complete";
}
Да может заголовок составлен как мне кажется не правильно, но всё же беда не в этом я от сервера вообще ни чего не получаю.
Помогите, пожалуйста, буду очень благодарен!