140 lines
4.0 KiB
C++
140 lines
4.0 KiB
C++
#include "shttpsender.h"
|
|
#include <QString>
|
|
#include <QSql>
|
|
#include <iostream>
|
|
#include <QTimer>
|
|
#include <QHostInfo>
|
|
SHttpSender::SHttpSender(QObject * obj) : QObject(obj), socket(new QTcpSocket(this))
|
|
{
|
|
QSqlDatabase db = QSqlDatabase::database("WEB");
|
|
QString hostName = db.hostName();
|
|
|
|
if (hostName == "192.168.0.82")
|
|
{
|
|
addr = hostName;
|
|
addrName = hostName;
|
|
port = 8080;
|
|
}
|
|
else if (hostName == "192.168.0.30")
|
|
{
|
|
QHostInfo info = QHostInfo::fromName("big-bird1.co.kr");
|
|
if (!info.addresses().isEmpty())
|
|
{
|
|
addr = info.addresses().at(0).toString();
|
|
addrName = "big-bird1.co.kr";
|
|
// qDebug() << "hostinfo";
|
|
}
|
|
else
|
|
{
|
|
addr = "211.43.203.55";
|
|
addrName = "big-bird1.co.kr";
|
|
// qDebug() << "str";
|
|
}
|
|
port = 80;
|
|
}
|
|
else if (hostName == "182.162.171.147")
|
|
{
|
|
QHostInfo info = QHostInfo::fromName("big-bird.co.kr");
|
|
if (!info.addresses().isEmpty())
|
|
{
|
|
addr = info.addresses().at(0).toString();
|
|
addrName = "big-bird.co.kr";
|
|
qDebug() << "hostinfo";
|
|
qDebug() << addr;
|
|
}
|
|
else
|
|
{
|
|
addr = "211.43.203.51";
|
|
addrName = "big-bird.co.kr";
|
|
qDebug() << "str";
|
|
}
|
|
port = 80;
|
|
qDebug() << port;
|
|
}
|
|
else
|
|
{
|
|
/*
|
|
addr = "big-bird.co.kr";
|
|
port = 80;
|
|
*/
|
|
}
|
|
connect(socket, SIGNAL(disconnected()), this, SLOT(DisConnected()));
|
|
connect(socket, SIGNAL(readyRead()), this, SLOT(ReadData()));
|
|
connect(socket, SIGNAL(error(QAbstractSocket::SocketError)), this, SLOT(error(QAbstractSocket::SocketError)));
|
|
//connect(socket, &QTcpSocket::hostFound, [](){ std::cout << "founded"; });
|
|
// connect(socket, &QTcpSocket::connected, [](){ std::cout << "connected"; });
|
|
// qDebug() << addr << port;
|
|
|
|
socket->connectToHost(QHostAddress(addr), port);
|
|
socket->waitForConnected(3000);
|
|
|
|
}
|
|
|
|
SHttpSender::~SHttpSender()
|
|
{
|
|
socket->close();
|
|
delete socket;
|
|
}
|
|
|
|
void SHttpSender::SendData(int _company_num)
|
|
{
|
|
if (_company_num == -100)
|
|
return;
|
|
|
|
QString strPort = "";
|
|
if (port != 80)
|
|
strPort = ":" + QString::number(static_cast<unsigned int>(port));
|
|
|
|
//std::cout << addr.toStdString() << strPort.toStdString();
|
|
|
|
QString data;
|
|
if (port != 80)
|
|
data = "GET /concepters/filter_actionAtDataUpdateComplete.do?company_num=" + QString::number(_company_num) + " HTTP/1.1\r\n";
|
|
else
|
|
data = "GET /filter_actionAtDataUpdateComplete.do?company_num=" + QString::number(_company_num) + " HTTP/1.1\r\n";
|
|
|
|
data += "Host: " + addrName + strPort + "\r\n"
|
|
"Connection: keep-alive\r\n"
|
|
"Cache-Control: max-age=0\r\n"
|
|
"Upgrade-Insecure-Requests: 1\r\n"
|
|
"User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36\r\n"
|
|
"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8\r\n"
|
|
"Accept-Encoding: gzip, deflate, sdch\r\n"
|
|
"Accept-Language: ko-KR,ko;q=0.8,en-US;q=0.6,en;q=0.4\r\n\r\n\r\n";
|
|
|
|
if(!data.isEmpty())
|
|
{
|
|
socket->write(QString(data + "\n").toUtf8());
|
|
//std::cout << data.toStdString();
|
|
//std::cout << "sent";
|
|
}
|
|
//qDebug() << data;
|
|
QTimer::singleShot(5000, this, SLOT(DisConnected()));
|
|
}
|
|
|
|
void SHttpSender::ReadData()
|
|
{
|
|
exit(0);
|
|
/*
|
|
QString m_str;
|
|
while(socket->canReadLine())
|
|
{
|
|
QString str = QString::fromUtf8(socket->readLine()).trimmed();
|
|
m_str += str;
|
|
std::cout << str.toStdString();
|
|
}
|
|
//exit(0);
|
|
*/
|
|
}
|
|
|
|
void SHttpSender::error(QAbstractSocket::SocketError /*error*/)
|
|
{
|
|
exit(0);
|
|
}
|
|
|
|
void SHttpSender::DisConnected()
|
|
{
|
|
exit(0);
|
|
}
|
|
|