Как можно установить куки вручную, строкой а не с помощью того что не видно типа setCookieJar который распологает куки в каком то невидемом файле. Мне нужно что то типа такого как в курле
curl_easy_setopt(curl, CURLOPT_COOKIE, cookie.c_str());
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;
Ниужели никто не пользовался QNetworkAccessManager именно чтобы установить в нем полный хидер с реферером, куками...
вот это вот совсем не пойму как можно воткнуть в request
enum KnownHeaders { ContentTypeHeader, ContentLengthHeader, LocationHeader, LastModifiedHeader, CookieHeader, SetCookieHeader }
да это я читал, только разобраться все равно не могу, там ни одного примера... в сети такие примеры только с использованием курла, а хочется поработать с сетью с помощью Qt.
еще не могу установить так чтобы ответ сервера приходил не просто тело странички а еще и хидер странички.
вот пробую как то так
request.setRawHeader("ContentTypeHeader", "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");
)))))) да пользуюсь я асистентом но не пойму как это написать, примеров там нет а додумать не получается, потому и спрашиваю сдесь
вот есть код
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);
http://www.qtcentre.org/threads/17564-file-upload-using-QNetworkRequest-amp-QNetworkAccessManager какой-то пример
Вот так вот выставляется хидер, можно сюда еще добавить значений которые известны.
request.setUrl(QUrl("http://....));
request.setRawHeader("Accept-Charset", "windows-1251,utf-8;q=0.7,*;q=0.7");
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");
request.setRawHeader("Cookie", "....");
QList<QByteArray> rawHeaderList () const
bool hasRawHeader ( const QByteArray & headerName ) const
QVariant header ( QNetworkRequest::KnownHeaders header ) const
QByteArray rawHeader ( const QByteArray & headerName ) const
что в него то вписывать
reply->rawHeader (а тут что писать то???);
qDebug() << reply->rawHeader("Set-Cookie");
ну да примерно как то так и работает) в принципи я разобрался со всем чем хотел)) спасибо за помощь)
Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)