#include "shttpsender.h" #include #include #include #include #include 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(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); }