crossplatform.ru

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

> установка куков в QNetworkAccessManager вручную
eldar85
  опции профиля:
сообщение 21.9.2010, 21:31
Сообщение #1


программист
***

Группа: Участник
Сообщений: 283
Регистрация: 2.1.2010
Из: Москва
Пользователь №: 1348

Спасибо сказали: 0 раз(а)




Репутация:   0  


Как можно установить куки вручную, строкой а не с помощью того что не видно типа setCookieJar который распологает куки в каком то невидемом файле. Мне нужно что то типа такого как в курле
curl_easy_setopt(curl, CURLOPT_COOKIE, cookie.c_str());

где cookie.c_str() и есть куки которые мы спарсили.
не могу понять систему формирования хидера в QNetworkAccessManager .
Заранее благодарю за ответы)

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

 QEventLoop loop;
           QNetworkAccessManager manager;
           QNetworkReply *reply = manager.get( QNetworkRequest( QUrl( "http://www.opennet.ru/docs/RUS/qt3_prog/c7638.html" ) ) );

           QObject::connect( reply, SIGNAL( finished() ), &loop, SLOT( quit() ) );
           loop.exec();

           qDebug() << reply->error() << reply->bytesAvailable();
           QByteArray buf = reply->readAll();
           QFile file( "save1.txt" );
           if( file.open( QIODevice::WriteOnly ) )
           {
                   file.write( buf );
           }




я так понимаю что все параметры хидера устанавливаются в
QNetworkRequest request;

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
eldar85
  опции профиля:
сообщение 22.9.2010, 9:48
Сообщение #2


программист
***

Группа: Участник
Сообщений: 283
Регистрация: 2.1.2010
Из: Москва
Пользователь №: 1348

Спасибо сказали: 0 раз(а)




Репутация:   0  


)))))) да пользуюсь я асистентом но не пойму как это написать, примеров там нет а додумать не получается, потому и спрашиваю сдесь

вот есть код

    QEventLoop loop;
    QNetworkAccessManager manager;
    QNetworkRequest request;



    request.setUrl(QUrl("http://www.google.ru"));
    request.setRawHeader("Accept-Charset", "text/html; charset=utf-8");
    request.setRawHeader("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2.8) Gecko/20100722 MRA 5.6 (build 03402) Firefox/3.6.8 (.NET CLR 3.5.30729) sputnik 2.0.1.41 WebMoney Advisor");
//куки как я понимаю можно вставить сдесь как я вставил юзер агента
    
    
    QNetworkReply *reply = manager.get( request );
    QObject::connect( reply, SIGNAL( finished() ), &loop, SLOT( quit() ) );

    loop.exec();

    qDebug() << reply->error() << reply->bytesAvailable();

    QByteArray buf = reply->readAll();
    ui->textBrowser->setText(buf);


мне нужно чтобы он возращал ответ странички с хидером и чтобы я мог установить в него куки. пока ответ приходит лишь голая страничка без хидера.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 1.12.2024, 21:32