Files
clients/sfilterprocess/shttpsender.cpp
admin 4e6aead7b3 filter 최종 종료시에 website에 이를 알리는 기능
git-svn-id: svn://192.168.0.12/source@314 8346c931-da38-4b9b-9d4c-e48b93cbd075
2016-11-11 06:24:32 +00:00

105 lines
3.0 KiB
C++

#include "shttpsender.h"
#include <QString>
#include <QSql>
#include <iostream>
#include <QTimer>
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;
port = 8080;
}
else if (hostName == "192.168.0.30")
{
addr = "big-bird1.co.kr";
port = 80;
}
else if (hostName == "182.162.171.147")
{
addr = "big-bird.co.kr";
port = 80;
}
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"; });
socket->connectToHost(QHostAddress(addr), port);
socket->waitForConnected(2000);
}
SHttpSender::~SHttpSender()
{
socket->close();
delete socket;
}
void SHttpSender::SendData(int _company_num)
{
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: " + addr + 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";
}
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);
}