crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в QSslSocket::VerifyNone
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Reklats Дата 25.2.2011, 17:10
  Как оказалось проблема была в другом - неверная Basic авторизация. Как я выяснил, в примере network\http ошибка ибо не достаточно просто в слот, который запускается в ответ на сигнал о запросе авторизации, поставить нужные имя и пароль. Нужно ещё добавить заголовок "Authorization". Вот пример, не мой, но зато немного посложнее моего. Тут представлена Basic авторизация POST запросом:

QNetworkAccessManager* netMan;
netMan = new QNetworkAccessManager(this);
QNetworkRequest request;


request.setUrl(QUrl("Request Url"));
request.setRawHeader("Authorization", "Basic " + QByteArray(QString("%1:%2").arg("Username").arg("Password").toAscii()).toBase64());

QDateTime currTime = QDateTime::currentDateTime();
QString timeData = currTime.toString("MM/dd/yyyy hh:mm:ss");
QString mySt = status + " " + timeData;
QByteArray myData(mySt.toUtf8(),mySt.length());

QNetworkReply* reply = netMan->post(request,myData);
Reklats Дата 20.2.2011, 22:07
  Приветствую всех.

Передо мной стоит задача - авторизоваться на защищённом сайте. Basiс авторизация, сертификат самоподписаный. Для этого курил пример http, тем более там это всё есть. Но не тут то было.

Собрал пример (http), захожу на нужный мне сайт, вываливается окно авторизации, потом окно ошибок сертификата и ... Снова окно ошибок, потом снова окно ошибок сертификата и так по кругу. Самое интерессное, при перезапуске примера, авторизация проходит (дело в куках?).

После 3х дней раздумий решил просто отменить проверку сертификата. Но вот как это сделать ? В доках написано, что изменять параметры конфигурации SSL надо до запроса. Сделал так:

void MyClass::startRequest(QUrl *url)
{
    qDebug() << "startRequest :" << trUtf8("Шлю запрос");
    qDebug() << "startRequest : 1)" << reply->sslConfiguration().peerVerifyMode();

    QSslConfiguration sslConfiguration = reply->sslConfiguration();
    sslConfiguration.setPeerVerifyMode(QSslSocket::VerifyNone);
    reply->setSslConfiguration(sslConfiguration);

    reply = qnam.get(QNetworkRequest(*url));
    qDebug() << "startRequest : 2)" << reply->sslConfiguration().peerVerifyMode();
}


Компилится нормально, запускается и в консоль вываливается вот это:
slotDownloadButton : "Кнопка нажата" 
startRequest : "Шлю запрос"
Error -
RtlWerpReportException failed with status code :-1073741823. Will try to launch the process directly


Я уже и не знаю что делать. Гуглил. Ничего не нашёл.

Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 25.4.2024, 18:25