Files
clients/FilterProcess/shttpsender.cpp

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);
}