字符串数据解析 太难看 = =
login_widget::login_widget(QWidget *parent) ://QWidget(parent),
ui(new Ui::login_widget)
{
ui->setupUi(this);
p = (MainWindow*)parent;
//loading = new loading_widget(this);
#ifndef Q_OS_WIN32
FixScreen();
#endif
timer_timeout = new QTimer(this);
connect(timer_timeout, SIGNAL(timeout()), this, SLOT(slot_timer()));
manager = new QNetworkAccessManager(this);
connect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(doManagerFinished(QNetworkReply*)));
connect(ui->pushButton_2, SIGNAL(clicked()), this, SLOT(slot_verfy()));
connect(ui->pushButton_3, SIGNAL(clicked()), this, SLOT(slot_close()));
connect(ui->pushButton_4, SIGNAL(clicked()), this, SLOT(slot_shuom()));
QMovie *pm = new QMovie(":/loading.gif");
ui->label_7->setMovie(pm);
pm->setScaledSize(QSize(100 * PublicFunc::getFactory(), 30 * PublicFunc::getFactory()));
pm->start(); //才会开始动
QPixmap pix;
pix.load(":/1.png");
ui->label_6->setPixmap(pix);
setHide();
}
void login_widget::slot_timer()
{
timer_timeout->stop();
setHide();
QMessageBox::warning(this, char_net_error, char_net_error_center);
slot_close();
}
void login_widget::setShow()
{
ui->label_6->setVisible(true);
ui->label_7->setVisible(true);
}
void login_widget::setStart(int time)/*超时15 S*/
{
timer_timeout->start(time);
}
void login_widget::setHide()
{
ui->label_6->setVisible(false);
ui->label_7->setVisible(false);
}
void login_widget::setLoginVisiable(bool is)
{
ui->pushButton->setVisible(is);
ui->pushButton_2->setVisible(is);
ui->lineEdit->setVisible(is);
ui->lineEdit_2->setVisible(is);
ui->lineEdit_3->setVisible(is);
ui->label->setVisible(is);
ui->label_2->setVisible(is);
ui->label_3->setVisible(is);
ui->label_4->setVisible(is);
}
void login_widget::doManagerFinished(QNetworkReply *reply)
{
timer_timeout->stop();
QByteArray binary = reply->readAll();
if (binary.size() <= 0)
{
setHide();
QMessageBox::warning(this, "\347\275\221\347\273\234\351\224\231\350\257\257", "\350\257\267\346\243\200\346\237\245\347\275\221\347\273\234\350\277\236\346\216\245");
//reply->deleteLater();
delete reply;
return;
}
QString result = QTextCodec::codecForName("gb2312")->toUnicode(binary);
if (reply->url() == homepageUrl)
{
/*登陆*/
if (reply->operation() == QNetworkAccessManager::GetOperation)
{
QRegExp reg("name=\"__VIEWSTATE\" value=\"([^\"]+)\"");
if (reg.indexIn(result) != -1)
{
viewstate = reg.cap(1);
}
if (reply->rawHeader("Set-Cookie").length())
{
jsessionid = reply->rawHeader("Set-Cookie");
jsessionid = jsessionid.left(jsessionid.indexOf(';'));
}
else
{
}
slot_verfy();
}
else
{
setStart();
QNetworkRequest request;
request.setRawHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.3; WOW64; Trident/8.0)");
request.setRawHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
request.setRawHeader("Accept-Encoding", "gzip, deflate");
request.setRawHeader("Accept-Language", "zh-CN,zh;q=0.8");
request.setRawHeader("Cache-Control", "max-age=0");
request.setRawHeader("Cookie", jsessionid.toLatin1());
request.setRawHeader("Connection", "Keep-Alive");
// qDebug() << mainpageUrl;
request.setUrl(QUrl(mainpageUrl));
manager->get(request);
setShow();
}
}
else if (reply->url() == captchaUrl)
{
/*验证码*/
QPixmap pixmap;
if (pixmap.loadFromData(binary))
{
setHide();
ui->label->setVisible(true);
ui->pushButton->setVisible(true);
#ifndef Q_OS_WIN32
ui->label->setPixmap(pixmap.scaled(72 * 2.2 * PublicFunc::getFactory(), 27 * 2.2*PublicFunc::getFactory(), Qt::KeepAspectRatio));
#else
ui->label->setPixmap(pixmap);
#endif
}
}
else if (reply->url() == url_kebiao)
{
/*课表*/
dataTable.clear();
//ui->textEdit->append(QString::fromLocal8Bit(binary.data()));
QString data = QString::fromLocal8Bit(binary.data());
/**/
int x = data.indexOf("trbg1") + 10;
int y = data.indexOf("datelist");
data = data.mid(x, y - x);
x = data.indexOf("trbg1") + 10;
info = (data.mid(x, data.indexOf("labTip") - x));
x = data.indexOf("Table1") - 11;
y = data.indexOf("</table>");
data = data.mid(x, data.size() - x);
data = data.mid(0, data.indexOf("</table>"));
x = data.indexOf("</tr>") + 5;
data = data.mid(x, -1);
x = data.indexOf("</tr>") + 5;
data = data.mid(x, -1);
QString tm;
x = info.indexOf(" ");
info = info.mid(0, x);
x = info.indexOf(">");
info = info.mid(x + 1, -1);
info.remove("|");
info.remove("</span>");
info.remove(info.indexOf("<"), info.indexOf(">") - info.indexOf("<") + 1);
info.remove(info.indexOf("<"), info.indexOf(">") - info.indexOf("<") + 1);
info.remove(info.indexOf("<"), info.indexOf(">") - info.indexOf("<") + 1);
info.remove(info.indexOf("<"), info.indexOf(">") - info.indexOf("<") + 1);
info.remove(info.indexOf("<"), info.indexOf(">") - info.indexOf("<") + 1);
info.remove("\t");
setHide();
info.insert(0, "\n");
QMessageBox::warning(this, "\350\257\276\350\241\250\344\277\241\346\201\257", info);/*课表信息*/
QSettings set("kebiao", "1");
set.setValue("info", info);
/*分割完成 接下来 提取每一行数据 一共14行*/
for (int i = 0; i < 14; i++)
{
x = data.indexOf("<tr>");
y = data.indexOf("</tr>") + 5;
class_arry[i] = data.mid(x, y - x);
data = data.mid(y, -1);
// data.remove(class_arry[i]);
}
/*提取每一行完毕 开始分割列*/
QString day[15];
QString tmp;
for (int xx = 0; xx < 14; xx += 2)
{
class_arry[xx].remove("</tr>");
class_arry[xx].remove("<tr>");
for (int i = 0; i < 7; i++)
{
x = class_arry[xx].lastIndexOf("<td");
y = class_arry[xx].lastIndexOf("</td>") + 5;
day[i] = class_arry[xx].mid(x, y - x);
class_arry[xx] = class_arry[xx].mid(0, x);
day[i].remove(day[i].mid(0, day[i].indexOf(">") + 1));
day[i].remove(" </td>");
day[i].remove("</td>");
day[i].replace("<br>", ".");
/*取出每一节课完成 开始取出每一节课信息*/
for (int iii = 0; iii < 3; iii++)
{
/*取出名字*/
y = day[i].indexOf(".");
tmp = day[i].mid(0, y);
dataTable.data[6 - i][xx][iii].class_name = tmp;
// day[i].remove(tmp + ".");
day[i] = day[i].mid(y + 1, -1);
/*课程性质*/
y = day[i].indexOf(".");
tmp = day[i].mid(0, y);
dataTable.data[6 - i][xx][iii].class_pro = tmp;
tmp = tmp + ".";
// day[i].remove(tmp);
day[i] = day[i].mid(y + 1, -1);
/*时间*/
y = day[i].indexOf(".");
tmp = day[i].mid(0, y);
dataTable.data[6 - i][xx][iii].class_time = tmp;
tmp = tmp + ".";
//day[i].remove(tmp);
day[i] = day[i].mid(y + 1, -1);
/*老师*/
y = day[i].indexOf(".");
tmp = day[i].mid(0, y);
dataTable.data[6 - i][xx][iii].class_techer = tmp;
tmp = tmp + ".";
//day[i].remove(tmp);
day[i] = day[i].mid(y + 1, -1);
/*地点*/
y = day[i].indexOf(".");
if (y <= 0)
{
dataTable.data[6 - i][xx][iii].class_posi = day[i];
day[i] = "";
}
else
{
tmp = day[i].mid(0, y);
dataTable.data[6 - i][xx][iii].class_posi = tmp;
tmp = tmp + "..";
//day[i].remove(tmp);
day[i] = day[i].mid(y + 2, -1);
}
if (day[i].size() < 1)break;
}
/* QTableWidgetItem* z = new QTableWidgetItem(day[i]);
z->setTextAlignment(Qt::AlignCenter);
p->ui->tableWidget->setItem(xx, 6 - i, z);
p->ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers); //设置不可编辑
p->ui->tableWidget->horizontalHeader()->resizeSection(6 - i, 80 * PublicFunc::getFactory()); //设置表头第一列的宽度为150
p->ui->tableWidget->setRowHeight(xx, PublicFunc::getFactory() * 100);
p->ui->tableWidget->setRowHeight(xx + 1, 0);
QFont font;
font.setPointSize(12);
font.setFamily("simsun");
z->setFont(font);*/
}
}
p->syncTable(setCenter::current_week);
QMessageBox::information(this, "\346\217\220\347\244\272", "\345\257\274\345\205\245\350\257\276\350\241\250\346\210\220\345\212\237");/*错误*/
/*提示 导入课表成功*/
ui->pushButton->setVisible(true);
slot_close();
}
else if (reply->url() == url_chenji)
{
if (reply->operation() == QNetworkAccessManager::GetOperation)
{
/*get*/
QRegExp reg("name=\"__VIEWSTATE\" value=\"([^\"]+)\"");
if (reg.indexIn(result) != -1)
{
viewstate = reg.cap(1);
}
if (reply->rawHeader("Set-Cookie").length())
{
jsessionid = reply->rawHeader("Set-Cookie");
jsessionid = jsessionid.left(jsessionid.indexOf(';'));
}
setStart();
QNetworkRequest request;
request.setRawHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.3; WOW64; Trident/8.0)");
request.setRawHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
request.setRawHeader("Accept-Encoding", "gzip, deflate");
request.setRawHeader("Accept-Language", "zh-CN,zh;q=0.8");
request.setRawHeader("Cache-Control", "max-age=0");
request.setRawHeader("Cookie", jsessionid.toLatin1());
request.setRawHeader("Connection", "Keep-Alive");
request.setRawHeader("Referer", ss.toStdString().c_str());
QUrl mainpageUrl = QUrl(ss);
request.setUrl(QUrl(url_chenji));
QUrlQuery query;
query.addQueryItem("__EVENTTARGET", "ddlxn");
query.addQueryItem("__EVENTARGUMENT", "");
query.addQueryItem("__VIEWSTATE", viewstate);
QString xueqi;
char xuen[30];
QDate date = QDate::currentDate();
if (date.month() >= 6 && date.month() <= 10)
{
/*第二学期*/
xueqi = "2";
sprintf(xuen, "%d-%d", date.year() - 1, date.year());
}
else if (date.month() > 10)
{
/*第1学期*/
xueqi = "1";
sprintf(xuen, "%d-%d", date.year(), date.year() + 1);
}
else
{
/*第1学期*/
xueqi = "1";
sprintf(xuen, "%d-%d", date.year() - 1, date.year());
}
query.addQueryItem("ddlxn", xuen);
query.addQueryItem("ddlxq", xueqi);
query.addQueryItem("btnCx", "+%B2%E9++%D1%AF+");
QByteArray postData = query.toString(QUrl::FullyEncoded).replace("+", "%2B").toLatin1();
manager->post(request, postData);
setShow();
}
else if (reply->operation() == QNetworkAccessManager::PostOperation)
{
/*post*/
ui->pushButton->setVisible(true);
setHide();
do_chengji(binary);
}
}
else
{
setHide();
/*登陆后*/
QString s = binary.data();
if (s.indexOf("main_html") <= 0)
{
/*登陆失败*/
slot_verfy();
QMessageBox::warning(this, "\351\224\231\350\257\257", "\345\257\206\347\240\201\346\210\226\351\252\214\350\257\201\347\240\201");/*错误*/
/*登陆失败*/
}
else
{
/*登陆成功 开始获取课表*/
if (is_kebiao)
{
slot_getKebiao();
}
else
slot_getChenJi();
// setLoginVisiable(false);
}
}
//reply->deleteLater();
delete reply;
}
void login_widget::on_pushButton_clicked()
{
/*输入规则判断*/
if (ui->lineEdit_2->text().length() < 11)
{
QMessageBox::warning(this, char_tixing, "\350\257\267\346\255\243\347\241\256\350\276\223\345\205\245\345\255\246\345\217\267");
return;
}
if (ui->lineEdit_3->text().length() == 0)
{
QMessageBox::warning(this, char_tixing, "\345\257\206\347\240\201\344\270\215\350\203\275\344\270\272\347\251\272");
return;
}
if (ui->lineEdit->text().length() == 0)
{
QMessageBox::warning(this, char_tixing, "\350\257\267\350\276\223\345\205\245\351\252\214\350\257\201\347\240\201");
return;
}
if (ui->lineEdit->text().length() < 4)
{
QMessageBox::warning(this, char_tixing, "\351\252\214\350\257\201\347\240\201\351\224\231\350\257\257");
return;
}
ui->pushButton->setVisible(false);
/*登陆*/
setStart();
setShow();
QNetworkRequest request;
request.setUrl(homepageUrl);
request.setRawHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.3; WOW64; Trident/8.0)");
request.setRawHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
request.setRawHeader("Accept-Encoding", "gzip, deflate");
request.setRawHeader("Accept-Language", "zh-CN,zh;q=0.8");
request.setRawHeader("Cache-Control", "max-age=0");
request.setRawHeader("Cookie", jsessionid.toLatin1());
request.setRawHeader("Connection", "Keep-Alive");
query.addQueryItem("txtUserName", ui->lineEdit_2->text());
query.addQueryItem("TextBox2", ui->lineEdit_3->text());
query.addQueryItem("txtSecretCode", ui->lineEdit->text());
query.addQueryItem("RadioButtonList1", "%D1%A7%C9%FA");
QByteArray postData = query.toString(QUrl::FullyEncoded).replace("+", "%2B").toLatin1();
// qDebug() << postData;
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
request.setHeader(QNetworkRequest::ContentLengthHeader, postData.length());
manager->post(request, postData);
}
void login_widget::slot_getChenJi()
{
setShow();
setStart();
QNetworkRequest request;
request.setRawHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.3; WOW64; Trident/8.0)");
request.setRawHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
request.setRawHeader("Accept-Encoding", "gzip, deflate");
request.setRawHeader("Accept-Language", "zh-CN,zh;q=0.8");
request.setRawHeader("Cache-Control", "max-age=0");
request.setRawHeader("Cookie", jsessionid.toLatin1());
request.setRawHeader("Connection", "Keep-Alive");
request.setRawHeader("Referer", ss.toStdString().c_str());
QUrl mainpageUrl = QUrl(ss);
request.setUrl(QUrl(url_chenji));
manager->get(request);
}
void login_widget::slot_close()
{
manager->clearAccessCache();
timer_timeout->stop();
setHide();
this->hide();
}
- login_widget::login_widget(QWidget *parent) ://QWidget(parent),
- ui(new Ui::login_widget)
- {
- ui->setupUi(this);
- p = (MainWindow*)parent;
- //loading = new loading_widget(this);
- #ifndef Q_OS_WIN32
- FixScreen();
- #endif
- timer_timeout = new QTimer(this);
- connect(timer_timeout, SIGNAL(timeout()), this, SLOT(slot_timer()));
- manager = new QNetworkAccessManager(this);
- connect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(doManagerFinished(QNetworkReply*)));
- connect(ui->pushButton_2, SIGNAL(clicked()), this, SLOT(slot_verfy()));
- connect(ui->pushButton_3, SIGNAL(clicked()), this, SLOT(slot_close()));
- connect(ui->pushButton_4, SIGNAL(clicked()), this, SLOT(slot_shuom()));
- QMovie *pm = new QMovie(":/loading.gif");
- ui->label_7->setMovie(pm);
- pm->setScaledSize(QSize(100 * PublicFunc::getFactory(), 30 * PublicFunc::getFactory()));
- pm->start(); //才会开始动
- QPixmap pix;
- pix.load(":/1.png");
- ui->label_6->setPixmap(pix);
- setHide();
- }
- void login_widget::slot_timer()
- {
- timer_timeout->stop();
- setHide();
- QMessageBox::warning(this, char_net_error, char_net_error_center);
- slot_close();
- }
- void login_widget::setShow()
- {
- ui->label_6->setVisible(true);
- ui->label_7->setVisible(true);
- }
- void login_widget::setStart(int time)/*超时15 S*/
- {
- timer_timeout->start(time);
- }
- void login_widget::setHide()
- {
- ui->label_6->setVisible(false);
- ui->label_7->setVisible(false);
- }
- void login_widget::setLoginVisiable(bool is)
- {
- ui->pushButton->setVisible(is);
- ui->pushButton_2->setVisible(is);
- ui->lineEdit->setVisible(is);
- ui->lineEdit_2->setVisible(is);
- ui->lineEdit_3->setVisible(is);
- ui->label->setVisible(is);
- ui->label_2->setVisible(is);
- ui->label_3->setVisible(is);
- ui->label_4->setVisible(is);
- }
- void login_widget::doManagerFinished(QNetworkReply *reply)
- {
- timer_timeout->stop();
- QByteArray binary = reply->readAll();
- if (binary.size() <= 0)
- {
- setHide();
- QMessageBox::warning(this, "\347\275\221\347\273\234\351\224\231\350\257\257", "\350\257\267\346\243\200\346\237\245\347\275\221\347\273\234\350\277\236\346\216\245");
-
- //reply->deleteLater();
- delete reply;
- return;
- }
- QString result = QTextCodec::codecForName("gb2312")->toUnicode(binary);
- if (reply->url() == homepageUrl)
- {
- /*登陆*/
- if (reply->operation() == QNetworkAccessManager::GetOperation)
- {
- QRegExp reg("name=\"__VIEWSTATE\" value=\"([^\"]+)\"");
- if (reg.indexIn(result) != -1)
- {
- viewstate = reg.cap(1);
- }
- if (reply->rawHeader("Set-Cookie").length())
- {
- jsessionid = reply->rawHeader("Set-Cookie");
- jsessionid = jsessionid.left(jsessionid.indexOf(';'));
- }
- else
- {
- }
- slot_verfy();
- }
- else
- {
- setStart();
- QNetworkRequest request;
- request.setRawHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.3; WOW64; Trident/8.0)");
- request.setRawHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
- request.setRawHeader("Accept-Encoding", "gzip, deflate");
- request.setRawHeader("Accept-Language", "zh-CN,zh;q=0.8");
- request.setRawHeader("Cache-Control", "max-age=0");
- request.setRawHeader("Cookie", jsessionid.toLatin1());
- request.setRawHeader("Connection", "Keep-Alive");
- // qDebug() << mainpageUrl;
- request.setUrl(QUrl(mainpageUrl));
- manager->get(request);
- setShow();
- }
- }
- else if (reply->url() == captchaUrl)
- {
- /*验证码*/
- QPixmap pixmap;
- if (pixmap.loadFromData(binary))
- {
- setHide();
- ui->label->setVisible(true);
- ui->pushButton->setVisible(true);
- #ifndef Q_OS_WIN32
- ui->label->setPixmap(pixmap.scaled(72 * 2.2 * PublicFunc::getFactory(), 27 * 2.2*PublicFunc::getFactory(), Qt::KeepAspectRatio));
- #else
- ui->label->setPixmap(pixmap);
- #endif
- }
- }
- else if (reply->url() == url_kebiao)
- {
- /*课表*/
- dataTable.clear();
- //ui->textEdit->append(QString::fromLocal8Bit(binary.data()));
-
- QString data = QString::fromLocal8Bit(binary.data());
- /**/
- int x = data.indexOf("trbg1") + 10;
- int y = data.indexOf("datelist");
- data = data.mid(x, y - x);
- x = data.indexOf("trbg1") + 10;
- info = (data.mid(x, data.indexOf("labTip") - x));
- x = data.indexOf("Table1") - 11;
- y = data.indexOf("</table>");
- data = data.mid(x, data.size() - x);
- data = data.mid(0, data.indexOf("</table>"));
- x = data.indexOf("</tr>") + 5;
- data = data.mid(x, -1);
- x = data.indexOf("</tr>") + 5;
- data = data.mid(x, -1);
- QString tm;
- x = info.indexOf(" ");
- info = info.mid(0, x);
- x = info.indexOf(">");
- info = info.mid(x + 1, -1);
- info.remove("|");
- info.remove("</span>");
- info.remove(info.indexOf("<"), info.indexOf(">") - info.indexOf("<") + 1);
- info.remove(info.indexOf("<"), info.indexOf(">") - info.indexOf("<") + 1);
- info.remove(info.indexOf("<"), info.indexOf(">") - info.indexOf("<") + 1);
- info.remove(info.indexOf("<"), info.indexOf(">") - info.indexOf("<") + 1);
- info.remove(info.indexOf("<"), info.indexOf(">") - info.indexOf("<") + 1);
- info.remove("\t");
- setHide();
- info.insert(0, "\n");
- QMessageBox::warning(this, "\350\257\276\350\241\250\344\277\241\346\201\257", info);/*课表信息*/
- QSettings set("kebiao", "1");
- set.setValue("info", info);
- /*分割完成 接下来 提取每一行数据 一共14行*/
- for (int i = 0; i < 14; i++)
- {
- x = data.indexOf("<tr>");
- y = data.indexOf("</tr>") + 5;
- class_arry[i] = data.mid(x, y - x);
- data = data.mid(y, -1);
- // data.remove(class_arry[i]);
- }
- /*提取每一行完毕 开始分割列*/
- QString day[15];
- QString tmp;
- for (int xx = 0; xx < 14; xx += 2)
- {
- class_arry[xx].remove("</tr>");
- class_arry[xx].remove("<tr>");
- for (int i = 0; i < 7; i++)
- {
- x = class_arry[xx].lastIndexOf("<td");
- y = class_arry[xx].lastIndexOf("</td>") + 5;
- day[i] = class_arry[xx].mid(x, y - x);
- class_arry[xx] = class_arry[xx].mid(0, x);
- day[i].remove(day[i].mid(0, day[i].indexOf(">") + 1));
- day[i].remove(" </td>");
- day[i].remove("</td>");
- day[i].replace("<br>", ".");
- /*取出每一节课完成 开始取出每一节课信息*/
- for (int iii = 0; iii < 3; iii++)
- {
- /*取出名字*/
- y = day[i].indexOf(".");
- tmp = day[i].mid(0, y);
- dataTable.data[6 - i][xx][iii].class_name = tmp;
- // day[i].remove(tmp + ".");
- day[i] = day[i].mid(y + 1, -1);
- /*课程性质*/
- y = day[i].indexOf(".");
- tmp = day[i].mid(0, y);
- dataTable.data[6 - i][xx][iii].class_pro = tmp;
- tmp = tmp + ".";
- // day[i].remove(tmp);
- day[i] = day[i].mid(y + 1, -1);
- /*时间*/
- y = day[i].indexOf(".");
- tmp = day[i].mid(0, y);
- dataTable.data[6 - i][xx][iii].class_time = tmp;
- tmp = tmp + ".";
- //day[i].remove(tmp);
- day[i] = day[i].mid(y + 1, -1);
- /*老师*/
- y = day[i].indexOf(".");
- tmp = day[i].mid(0, y);
- dataTable.data[6 - i][xx][iii].class_techer = tmp;
- tmp = tmp + ".";
- //day[i].remove(tmp);
- day[i] = day[i].mid(y + 1, -1);
- /*地点*/
- y = day[i].indexOf(".");
- if (y <= 0)
- {
- dataTable.data[6 - i][xx][iii].class_posi = day[i];
- day[i] = "";
- }
- else
- {
- tmp = day[i].mid(0, y);
- dataTable.data[6 - i][xx][iii].class_posi = tmp;
- tmp = tmp + "..";
- //day[i].remove(tmp);
- day[i] = day[i].mid(y + 2, -1);
- }
- if (day[i].size() < 1)break;
- }
- /* QTableWidgetItem* z = new QTableWidgetItem(day[i]);
- z->setTextAlignment(Qt::AlignCenter);
- p->ui->tableWidget->setItem(xx, 6 - i, z);
- p->ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers); //设置不可编辑
- p->ui->tableWidget->horizontalHeader()->resizeSection(6 - i, 80 * PublicFunc::getFactory()); //设置表头第一列的宽度为150
- p->ui->tableWidget->setRowHeight(xx, PublicFunc::getFactory() * 100);
- p->ui->tableWidget->setRowHeight(xx + 1, 0);
- QFont font;
- font.setPointSize(12);
- font.setFamily("simsun");
- z->setFont(font);*/
- }
- }
- p->syncTable(setCenter::current_week);
- QMessageBox::information(this, "\346\217\220\347\244\272", "\345\257\274\345\205\245\350\257\276\350\241\250\346\210\220\345\212\237");/*错误*/
- /*提示 导入课表成功*/
- ui->pushButton->setVisible(true);
- slot_close();
- }
- else if (reply->url() == url_chenji)
- {
- if (reply->operation() == QNetworkAccessManager::GetOperation)
- {
- /*get*/
- QRegExp reg("name=\"__VIEWSTATE\" value=\"([^\"]+)\"");
- if (reg.indexIn(result) != -1)
- {
- viewstate = reg.cap(1);
- }
- if (reply->rawHeader("Set-Cookie").length())
- {
- jsessionid = reply->rawHeader("Set-Cookie");
- jsessionid = jsessionid.left(jsessionid.indexOf(';'));
- }
- setStart();
-
- QNetworkRequest request;
- request.setRawHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.3; WOW64; Trident/8.0)");
- request.setRawHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
- request.setRawHeader("Accept-Encoding", "gzip, deflate");
- request.setRawHeader("Accept-Language", "zh-CN,zh;q=0.8");
- request.setRawHeader("Cache-Control", "max-age=0");
- request.setRawHeader("Cookie", jsessionid.toLatin1());
- request.setRawHeader("Connection", "Keep-Alive");
-
- request.setRawHeader("Referer", ss.toStdString().c_str());
- QUrl mainpageUrl = QUrl(ss);
- request.setUrl(QUrl(url_chenji));
- QUrlQuery query;
- query.addQueryItem("__EVENTTARGET", "ddlxn");
- query.addQueryItem("__EVENTARGUMENT", "");
- query.addQueryItem("__VIEWSTATE", viewstate);
- QString xueqi;
- char xuen[30];
- QDate date = QDate::currentDate();
- if (date.month() >= 6 && date.month() <= 10)
- {
- /*第二学期*/
- xueqi = "2";
- sprintf(xuen, "%d-%d", date.year() - 1, date.year());
- }
- else if (date.month() > 10)
- {
- /*第1学期*/
- xueqi = "1";
- sprintf(xuen, "%d-%d", date.year(), date.year() + 1);
- }
- else
- {
- /*第1学期*/
- xueqi = "1";
- sprintf(xuen, "%d-%d", date.year() - 1, date.year());
- }
- query.addQueryItem("ddlxn", xuen);
- query.addQueryItem("ddlxq", xueqi);
- query.addQueryItem("btnCx", "+%B2%E9++%D1%AF+");
- QByteArray postData = query.toString(QUrl::FullyEncoded).replace("+", "%2B").toLatin1();
- manager->post(request, postData);
- setShow();
- }
- else if (reply->operation() == QNetworkAccessManager::PostOperation)
- {
- /*post*/
- ui->pushButton->setVisible(true);
- setHide();
- do_chengji(binary);
- }
- }
- else
- {
- setHide();
- /*登陆后*/
- QString s = binary.data();
- if (s.indexOf("main_html") <= 0)
- {
- /*登陆失败*/
- slot_verfy();
- QMessageBox::warning(this, "\351\224\231\350\257\257", "\345\257\206\347\240\201\346\210\226\351\252\214\350\257\201\347\240\201");/*错误*/
- /*登陆失败*/
- }
- else
- {
- /*登陆成功 开始获取课表*/
- if (is_kebiao)
- {
- slot_getKebiao();
- }
- else
- slot_getChenJi();
- // setLoginVisiable(false);
- }
- }
- //reply->deleteLater();
- delete reply;
- }
- void login_widget::on_pushButton_clicked()
- {
- /*输入规则判断*/
- if (ui->lineEdit_2->text().length() < 11)
- {
- QMessageBox::warning(this, char_tixing, "\350\257\267\346\255\243\347\241\256\350\276\223\345\205\245\345\255\246\345\217\267");
- return;
- }
- if (ui->lineEdit_3->text().length() == 0)
- {
- QMessageBox::warning(this, char_tixing, "\345\257\206\347\240\201\344\270\215\350\203\275\344\270\272\347\251\272");
- return;
- }
- if (ui->lineEdit->text().length() == 0)
- {
- QMessageBox::warning(this, char_tixing, "\350\257\267\350\276\223\345\205\245\351\252\214\350\257\201\347\240\201");
- return;
- }
- if (ui->lineEdit->text().length() < 4)
- {
- QMessageBox::warning(this, char_tixing, "\351\252\214\350\257\201\347\240\201\351\224\231\350\257\257");
- return;
- }
- ui->pushButton->setVisible(false);
- /*登陆*/
- setStart();
- setShow();
- QNetworkRequest request;
- request.setUrl(homepageUrl);
- request.setRawHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.3; WOW64; Trident/8.0)");
- request.setRawHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
- request.setRawHeader("Accept-Encoding", "gzip, deflate");
- request.setRawHeader("Accept-Language", "zh-CN,zh;q=0.8");
- request.setRawHeader("Cache-Control", "max-age=0");
- request.setRawHeader("Cookie", jsessionid.toLatin1());
- request.setRawHeader("Connection", "Keep-Alive");
- query.addQueryItem("txtUserName", ui->lineEdit_2->text());
- query.addQueryItem("TextBox2", ui->lineEdit_3->text());
- query.addQueryItem("txtSecretCode", ui->lineEdit->text());
- query.addQueryItem("RadioButtonList1", "%D1%A7%C9%FA");
- QByteArray postData = query.toString(QUrl::FullyEncoded).replace("+", "%2B").toLatin1();
- // qDebug() << postData;
- request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
- request.setHeader(QNetworkRequest::ContentLengthHeader, postData.length());
- manager->post(request, postData);
- }
- void login_widget::slot_getChenJi()
- {
- setShow();
- setStart();
- QNetworkRequest request;
- request.setRawHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.3; WOW64; Trident/8.0)");
- request.setRawHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
- request.setRawHeader("Accept-Encoding", "gzip, deflate");
- request.setRawHeader("Accept-Language", "zh-CN,zh;q=0.8");
- request.setRawHeader("Cache-Control", "max-age=0");
- request.setRawHeader("Cookie", jsessionid.toLatin1());
- request.setRawHeader("Connection", "Keep-Alive");
- request.setRawHeader("Referer", ss.toStdString().c_str());
- QUrl mainpageUrl = QUrl(ss);
- request.setUrl(QUrl(url_chenji));
- manager->get(request);
- }
- void login_widget::slot_close()
- {
- manager->clearAccessCache();
-
- timer_timeout->stop();
- setHide();
- this->hide();
- }
login_widget::login_widget(QWidget *parent) ://QWidget(parent),
ui(new Ui::login_widget)
{
ui->setupUi(this);
p = (MainWindow*)parent;
//loading = new loading_widget(this);
#ifndef Q_OS_WIN32
FixScreen();
#endif
timer_timeout = new QTimer(this);
connect(timer_timeout, SIGNAL(timeout()), this, SLOT(slot_timer()));
manager = new QNetworkAccessManager(this);
connect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(doManagerFinished(QNetworkReply*)));
connect(ui->pushButton_2, SIGNAL(clicked()), this, SLOT(slot_verfy()));
connect(ui->pushButton_3, SIGNAL(clicked()), this, SLOT(slot_close()));
connect(ui->pushButton_4, SIGNAL(clicked()), this, SLOT(slot_shuom()));
QMovie *pm = new QMovie(":/loading.gif");
ui->label_7->setMovie(pm);
pm->setScaledSize(QSize(100 * PublicFunc::getFactory(), 30 * PublicFunc::getFactory()));
pm->start(); //才会开始动
QPixmap pix;
pix.load(":/1.png");
ui->label_6->setPixmap(pix);
setHide();
}
void login_widget::slot_timer()
{
timer_timeout->stop();
setHide();
QMessageBox::warning(this, char_net_error, char_net_error_center);
slot_close();
}
void login_widget::setShow()
{
ui->label_6->setVisible(true);
ui->label_7->setVisible(true);
}
void login_widget::setStart(int time)/*超时15 S*/
{
timer_timeout->start(time);
}
void login_widget::setHide()
{
ui->label_6->setVisible(false);
ui->label_7->setVisible(false);
}
void login_widget::setLoginVisiable(bool is)
{
ui->pushButton->setVisible(is);
ui->pushButton_2->setVisible(is);
ui->lineEdit->setVisible(is);
ui->lineEdit_2->setVisible(is);
ui->lineEdit_3->setVisible(is);
ui->label->setVisible(is);
ui->label_2->setVisible(is);
ui->label_3->setVisible(is);
ui->label_4->setVisible(is);
}
void login_widget::doManagerFinished(QNetworkReply *reply)
{
timer_timeout->stop();
QByteArray binary = reply->readAll();
if (binary.size() <= 0)
{
setHide();
QMessageBox::warning(this, "\347\275\221\347\273\234\351\224\231\350\257\257", "\350\257\267\346\243\200\346\237\245\347\275\221\347\273\234\350\277\236\346\216\245");
//reply->deleteLater();
delete reply;
return;
}
QString result = QTextCodec::codecForName("gb2312")->toUnicode(binary);
if (reply->url() == homepageUrl)
{
/*登陆*/
if (reply->operation() == QNetworkAccessManager::GetOperation)
{
QRegExp reg("name=\"__VIEWSTATE\" value=\"([^\"]+)\"");
if (reg.indexIn(result) != -1)
{
viewstate = reg.cap(1);
}
if (reply->rawHeader("Set-Cookie").length())
{
jsessionid = reply->rawHeader("Set-Cookie");
jsessionid = jsessionid.left(jsessionid.indexOf(';'));
}
else
{
}
slot_verfy();
}
else
{
setStart();
QNetworkRequest request;
request.setRawHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.3; WOW64; Trident/8.0)");
request.setRawHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
request.setRawHeader("Accept-Encoding", "gzip, deflate");
request.setRawHeader("Accept-Language", "zh-CN,zh;q=0.8");
request.setRawHeader("Cache-Control", "max-age=0");
request.setRawHeader("Cookie", jsessionid.toLatin1());
request.setRawHeader("Connection", "Keep-Alive");
// qDebug() << mainpageUrl;
request.setUrl(QUrl(mainpageUrl));
manager->get(request);
setShow();
}
}
else if (reply->url() == captchaUrl)
{
/*验证码*/
QPixmap pixmap;
if (pixmap.loadFromData(binary))
{
setHide();
ui->label->setVisible(true);
ui->pushButton->setVisible(true);
#ifndef Q_OS_WIN32
ui->label->setPixmap(pixmap.scaled(72 * 2.2 * PublicFunc::getFactory(), 27 * 2.2*PublicFunc::getFactory(), Qt::KeepAspectRatio));
#else
ui->label->setPixmap(pixmap);
#endif
}
}
else if (reply->url() == url_kebiao)
{
/*课表*/
dataTable.clear();
//ui->textEdit->append(QString::fromLocal8Bit(binary.data()));
QString data = QString::fromLocal8Bit(binary.data());
/**/
int x = data.indexOf("trbg1") + 10;
int y = data.indexOf("datelist");
data = data.mid(x, y - x);
x = data.indexOf("trbg1") + 10;
info = (data.mid(x, data.indexOf("labTip") - x));
x = data.indexOf("Table1") - 11;
y = data.indexOf("</table>");
data = data.mid(x, data.size() - x);
data = data.mid(0, data.indexOf("</table>"));
x = data.indexOf("</tr>") + 5;
data = data.mid(x, -1);
x = data.indexOf("</tr>") + 5;
data = data.mid(x, -1);
QString tm;
x = info.indexOf(" ");
info = info.mid(0, x);
x = info.indexOf(">");
info = info.mid(x + 1, -1);
info.remove("|");
info.remove("</span>");
info.remove(info.indexOf("<"), info.indexOf(">") - info.indexOf("<") + 1);
info.remove(info.indexOf("<"), info.indexOf(">") - info.indexOf("<") + 1);
info.remove(info.indexOf("<"), info.indexOf(">") - info.indexOf("<") + 1);
info.remove(info.indexOf("<"), info.indexOf(">") - info.indexOf("<") + 1);
info.remove(info.indexOf("<"), info.indexOf(">") - info.indexOf("<") + 1);
info.remove("\t");
setHide();
info.insert(0, "\n");
QMessageBox::warning(this, "\350\257\276\350\241\250\344\277\241\346\201\257", info);/*课表信息*/
QSettings set("kebiao", "1");
set.setValue("info", info);
/*分割完成 接下来 提取每一行数据 一共14行*/
for (int i = 0; i < 14; i++)
{
x = data.indexOf("<tr>");
y = data.indexOf("</tr>") + 5;
class_arry[i] = data.mid(x, y - x);
data = data.mid(y, -1);
// data.remove(class_arry[i]);
}
/*提取每一行完毕 开始分割列*/
QString day[15];
QString tmp;
for (int xx = 0; xx < 14; xx += 2)
{
class_arry[xx].remove("</tr>");
class_arry[xx].remove("<tr>");
for (int i = 0; i < 7; i++)
{
x = class_arry[xx].lastIndexOf("<td");
y = class_arry[xx].lastIndexOf("</td>") + 5;
day[i] = class_arry[xx].mid(x, y - x);
class_arry[xx] = class_arry[xx].mid(0, x);
day[i].remove(day[i].mid(0, day[i].indexOf(">") + 1));
day[i].remove(" </td>");
day[i].remove("</td>");
day[i].replace("<br>", ".");
/*取出每一节课完成 开始取出每一节课信息*/
for (int iii = 0; iii < 3; iii++)
{
/*取出名字*/
y = day[i].indexOf(".");
tmp = day[i].mid(0, y);
dataTable.data[6 - i][xx][iii].class_name = tmp;
// day[i].remove(tmp + ".");
day[i] = day[i].mid(y + 1, -1);
/*课程性质*/
y = day[i].indexOf(".");
tmp = day[i].mid(0, y);
dataTable.data[6 - i][xx][iii].class_pro = tmp;
tmp = tmp + ".";
// day[i].remove(tmp);
day[i] = day[i].mid(y + 1, -1);
/*时间*/
y = day[i].indexOf(".");
tmp = day[i].mid(0, y);
dataTable.data[6 - i][xx][iii].class_time = tmp;
tmp = tmp + ".";
//day[i].remove(tmp);
day[i] = day[i].mid(y + 1, -1);
/*老师*/
y = day[i].indexOf(".");
tmp = day[i].mid(0, y);
dataTable.data[6 - i][xx][iii].class_techer = tmp;
tmp = tmp + ".";
//day[i].remove(tmp);
day[i] = day[i].mid(y + 1, -1);
/*地点*/
y = day[i].indexOf(".");
if (y <= 0)
{
dataTable.data[6 - i][xx][iii].class_posi = day[i];
day[i] = "";
}
else
{
tmp = day[i].mid(0, y);
dataTable.data[6 - i][xx][iii].class_posi = tmp;
tmp = tmp + "..";
//day[i].remove(tmp);
day[i] = day[i].mid(y + 2, -1);
}
if (day[i].size() < 1)break;
}
/* QTableWidgetItem* z = new QTableWidgetItem(day[i]);
z->setTextAlignment(Qt::AlignCenter);
p->ui->tableWidget->setItem(xx, 6 - i, z);
p->ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers); //设置不可编辑
p->ui->tableWidget->horizontalHeader()->resizeSection(6 - i, 80 * PublicFunc::getFactory()); //设置表头第一列的宽度为150
p->ui->tableWidget->setRowHeight(xx, PublicFunc::getFactory() * 100);
p->ui->tableWidget->setRowHeight(xx + 1, 0);
QFont font;
font.setPointSize(12);
font.setFamily("simsun");
z->setFont(font);*/
}
}
p->syncTable(setCenter::current_week);
QMessageBox::information(this, "\346\217\220\347\244\272", "\345\257\274\345\205\245\350\257\276\350\241\250\346\210\220\345\212\237");/*错误*/
/*提示 导入课表成功*/
ui->pushButton->setVisible(true);
slot_close();
}
else if (reply->url() == url_chenji)
{
if (reply->operation() == QNetworkAccessManager::GetOperation)
{
/*get*/
QRegExp reg("name=\"__VIEWSTATE\" value=\"([^\"]+)\"");
if (reg.indexIn(result) != -1)
{
viewstate = reg.cap(1);
}
if (reply->rawHeader("Set-Cookie").length())
{
jsessionid = reply->rawHeader("Set-Cookie");
jsessionid = jsessionid.left(jsessionid.indexOf(';'));
}
setStart();
QNetworkRequest request;
request.setRawHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.3; WOW64; Trident/8.0)");
request.setRawHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
request.setRawHeader("Accept-Encoding", "gzip, deflate");
request.setRawHeader("Accept-Language", "zh-CN,zh;q=0.8");
request.setRawHeader("Cache-Control", "max-age=0");
request.setRawHeader("Cookie", jsessionid.toLatin1());
request.setRawHeader("Connection", "Keep-Alive");
request.setRawHeader("Referer", ss.toStdString().c_str());
QUrl mainpageUrl = QUrl(ss);
request.setUrl(QUrl(url_chenji));
QUrlQuery query;
query.addQueryItem("__EVENTTARGET", "ddlxn");
query.addQueryItem("__EVENTARGUMENT", "");
query.addQueryItem("__VIEWSTATE", viewstate);
QString xueqi;
char xuen[30];
QDate date = QDate::currentDate();
if (date.month() >= 6 && date.month() <= 10)
{
/*第二学期*/
xueqi = "2";
sprintf(xuen, "%d-%d", date.year() - 1, date.year());
}
else if (date.month() > 10)
{
/*第1学期*/
xueqi = "1";
sprintf(xuen, "%d-%d", date.year(), date.year() + 1);
}
else
{
/*第1学期*/
xueqi = "1";
sprintf(xuen, "%d-%d", date.year() - 1, date.year());
}
query.addQueryItem("ddlxn", xuen);
query.addQueryItem("ddlxq", xueqi);
query.addQueryItem("btnCx", "+%B2%E9++%D1%AF+");
QByteArray postData = query.toString(QUrl::FullyEncoded).replace("+", "%2B").toLatin1();
manager->post(request, postData);
setShow();
}
else if (reply->operation() == QNetworkAccessManager::PostOperation)
{
/*post*/
ui->pushButton->setVisible(true);
setHide();
do_chengji(binary);
}
}
else
{
setHide();
/*登陆后*/
QString s = binary.data();
if (s.indexOf("main_html") <= 0)
{
/*登陆失败*/
slot_verfy();
QMessageBox::warning(this, "\351\224\231\350\257\257", "\345\257\206\347\240\201\346\210\226\351\252\214\350\257\201\347\240\201");/*错误*/
/*登陆失败*/
}
else
{
/*登陆成功 开始获取课表*/
if (is_kebiao)
{
slot_getKebiao();
}
else
slot_getChenJi();
// setLoginVisiable(false);
}
}
//reply->deleteLater();
delete reply;
}
void login_widget::on_pushButton_clicked()
{
/*输入规则判断*/
if (ui->lineEdit_2->text().length() < 11)
{
QMessageBox::warning(this, char_tixing, "\350\257\267\346\255\243\347\241\256\350\276\223\345\205\245\345\255\246\345\217\267");
return;
}
if (ui->lineEdit_3->text().length() == 0)
{
QMessageBox::warning(this, char_tixing, "\345\257\206\347\240\201\344\270\215\350\203\275\344\270\272\347\251\272");
return;
}
if (ui->lineEdit->text().length() == 0)
{
QMessageBox::warning(this, char_tixing, "\350\257\267\350\276\223\345\205\245\351\252\214\350\257\201\347\240\201");
return;
}
if (ui->lineEdit->text().length() < 4)
{
QMessageBox::warning(this, char_tixing, "\351\252\214\350\257\201\347\240\201\351\224\231\350\257\257");
return;
}
ui->pushButton->setVisible(false);
/*登陆*/
setStart();
setShow();
QNetworkRequest request;
request.setUrl(homepageUrl);
request.setRawHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.3; WOW64; Trident/8.0)");
request.setRawHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
request.setRawHeader("Accept-Encoding", "gzip, deflate");
request.setRawHeader("Accept-Language", "zh-CN,zh;q=0.8");
request.setRawHeader("Cache-Control", "max-age=0");
request.setRawHeader("Cookie", jsessionid.toLatin1());
request.setRawHeader("Connection", "Keep-Alive");
query.addQueryItem("txtUserName", ui->lineEdit_2->text());
query.addQueryItem("TextBox2", ui->lineEdit_3->text());
query.addQueryItem("txtSecretCode", ui->lineEdit->text());
query.addQueryItem("RadioButtonList1", "%D1%A7%C9%FA");
QByteArray postData = query.toString(QUrl::FullyEncoded).replace("+", "%2B").toLatin1();
// qDebug() << postData;
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
request.setHeader(QNetworkRequest::ContentLengthHeader, postData.length());
manager->post(request, postData);
}
void login_widget::slot_getChenJi()
{
setShow();
setStart();
QNetworkRequest request;
request.setRawHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.3; WOW64; Trident/8.0)");
request.setRawHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
request.setRawHeader("Accept-Encoding", "gzip, deflate");
request.setRawHeader("Accept-Language", "zh-CN,zh;q=0.8");
request.setRawHeader("Cache-Control", "max-age=0");
request.setRawHeader("Cookie", jsessionid.toLatin1());
request.setRawHeader("Connection", "Keep-Alive");
request.setRawHeader("Referer", ss.toStdString().c_str());
QUrl mainpageUrl = QUrl(ss);
request.setUrl(QUrl(url_chenji));
manager->get(request);
}
void login_widget::slot_close()
{
manager->clearAccessCache();
timer_timeout->stop();
setHide();
this->hide();
}