Добрый день, уважаемые коллеги!
Столкнулся с такой проблемой. Не получается авторизоваться на веб-сервере. Написал post и get запрос, при отправке которых возвращается страница авторизации. Старался придерживаться рекомендаций ассистента и советов со смежных тем форума. Отчаялся найти ошибку. Буду признателен, если кто то сможет помочь.
POST-запрос C++ (Qt)
void ModemMoxaClient::slotPostRequest()
{
//URL
QUrl url("http://192.168.127.253/home.asp");
//time
std::stringstream lasttime;
boost::posix_time::ptime epoch( boost::gregorian::date( 1970, 1, 1 ) );
boost::posix_time::ptime date( boost::gregorian::day_clock::local_day() );
lasttime << std::hex << std::setw( 2 ) << (date - epoch).total_seconds();
std::string str = lasttime.str();
QString timestr(QString::fromStdString(str));
QByteArray time;
time.append(timestr);
//HTML FORM URL
QByteArray cookie;
QString account("0");
QString password("");
QString x("50");
QString y("10");
cookie += "account=" + QUrl::toPercentEncoding( account.toUtf8() );
cookie += "&password=" + QUrl::toPercentEncoding( password.toUtf8() );
cookie += "&Loginin.x=" + QUrl::toPercentEncoding( x.toUtf8());
cookie += "&Loginin.y=" + QUrl::toPercentEncoding( y.toUtf8() );
//cookie
QList<QNetworkCookie> sendcookies;
sendcookies.append(QNetworkCookie("AccountName508", "admin"));
sendcookies.append(QNetworkCookie("Password508", "202cb962ac59075b964b07152d234b70"));
sendcookies.append(QNetworkCookie("lasttime", "202cb962ac59075b964b07152d234b70"));
m_manager->cookieJar()->setCookiesFromUrl(sendcookies, url);
//request
QNetworkRequest postRequest;
postRequest.setUrl(QUrl(url));
//Headers
postRequest.setRawHeader("Host", "192.168.127.253");
postRequest.setHeader(QNetworkRequest::ContentTypeHeader,"application/x-www-form-urlencoded");
postRequest.setRawHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0");
postRequest.setRawHeader("Accept", "http://192.168.127.253");
postRequest.setRawHeader("Accept-Language", "ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3");
postRequest.setRawHeader("Accept-Encoding", "gzip, deflate");
postRequest.setRawHeader("Referer", "http://192.168.127.253/auth/accountpassword.asp");
postRequest.setRawHeader("Host", "http://192.168.127.253");
//reply
QNetworkReply* postReply = m_manager->post(postRequest, cookie);
connect( m_manager, SIGNAL( finished(QNetworkReply*)), this, SLOT(replyFinished(QNetworkReply*)) );;
}
SLOT replyFinished(QNetworkReply*)C++ (Qt)
void ModemMoxaClient::replyFinished(QNetworkReply* reply)
{
if( reply->error() == QNetworkReply::NoError )
{
QUrl url(reply->url());
ui->webView->setUrl(url);
}
else
{ qDebug()<<reply->errorString(); }
reply->deleteLater();
}