crossplatform.ru

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

2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему
> как программно отправлять пост запросы в QtNetwork?)
eldar85
  опции профиля:
сообщение 31.3.2010, 23:24
Сообщение #1


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

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

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




Репутация:   0  


хотелось бы написать программу чтобы она загружала мою почтовую страницу, входила в нее сама и показывала мне входящие письма) в общем чтобы при запуске проги я сразу видел мои входящие письма) кто нить знает как это делать в QWebKit?

к примеру
view = new QWebView(this);
    view->load(QUrl("http://yandex.ru/"));


а вот как быть дальше?????

Сообщение отредактировал eldar85 - 1.4.2010, 14:40
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kibsoft
  опции профиля:
сообщение 1.4.2010, 0:09
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 180
Регистрация: 21.7.2009
Из: Самара
Пользователь №: 928

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




Репутация:   2  


Цитата(eldar85 @ 1.4.2010, 0:24) *
хотелось бы написать программу чтобы она загружала мою почтовую страницу, входила в нее сама и показывала мне входящие письма) в общем чтобы при запуске проги я сразу видел мои входящие письма) кто нить знает как это делать в QWebKit?

к примеру
view = new QWebView(this);
    view->load(QUrl("http://yandex.ru/"));


а вот как быть дальше?????


Почитай про QNetworkAccessManager. Там есть функция post, которая возвращает QNetworkReply, соответственно у которого есть функция url() :)
Удачи!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
eldar85
  опции профиля:
сообщение 1.4.2010, 0:54
Сообщение #3


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

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

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




Репутация:   0  


спасибо) кое что проясняется)))

Сообщение отредактировал eldar85 - 1.4.2010, 1:05
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
eldar85
  опции профиля:
сообщение 1.4.2010, 14:38
Сообщение #4


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

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

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




Репутация:   0  


 QNetworkAccessManager manager;
//QNetworkReply *reply;  определяется в хедере
    QUrl apiUrl;
    QByteArray requestString;

    apiUrl = "http://passport.yandex.ru/passport?mode=auth&retpath=http://mail.yandex.ru";
    requestString = "retpath=http%3A%2F%2Fmail.yandex.ru&idkey=0DM1270122392Bd48soVS_&timestamp=1270121234857&login=fox.dog2010&passwd=arny7777&In=%D0%92%D0%BE%D0%B9%D1%82%D0%B8";
    QNetworkRequest request(apiUrl);
    reply = manager.post(request, requestString);
    connect(reply, SIGNAL(finished()), this, SLOT(getReplyFinished()));
    connect(reply, SIGNAL(readyRead()), this, SLOT(readyReadReply()));
    view->setHtml(answer);
    qDebug() << answer;


слоты выглядят так
void mainWindow::getReplyFinished()
{
    reply->deleteLater();
}

void mainWindow::readyReadReply()
{
    answer = QString::fromUtf8(reply->readAll());
}


в итоге в дебаге все пусто... ничего не получает...

Сообщение отредактировал eldar85 - 1.4.2010, 15:49
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 1.4.2010, 14:39
Сообщение #5


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

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




Репутация:   23  


eldar85,
что ты хотел последним постом сказать?
этот пост это вопрос?
ответ?
результат?
что это?
-----------------------
теперь понятно.
Причина редактирования: изменилось предыдущее сообщение
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
eldar85
  опции профиля:
сообщение 1.4.2010, 14:43
Сообщение #6


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

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

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




Репутация:   0  


ну я просто хотел зайти на свою почту) или что вы имели ввиду?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 1.4.2010, 14:43
Сообщение #7


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

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




Репутация:   23  


eldar85,
не удивительно. у тебя загрузка в браузер ответа, просиходит перед его получением. т.к. нужно время чтоб вызвался сигнал finished() или readyRead(), минимум надо выйти из блока, в котором посылался запрос.
+ вероятно сигнал finished() приходит раньше readyRead() ты распределяешь в обработчике finished() ответ на удадение, все сигнал-слотные связи объекта рушатся при удалении в итоге readyRead() не должен приходить вообще.
Причина редактирования: очепятки
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
eldar85
  опции профиля:
сообщение 1.4.2010, 15:43
Сообщение #8


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

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

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




Репутация:   0  


чет не соображу никак)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 1.4.2010, 16:31
Сообщение #9


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

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




Репутация:   23  


ну слот readyReadReply()
если и вызовется то после
view->setHtml(answer);
qDebug() << answer;
а не перед.

если finished приходит раньше чем readyRead то объект reply удалится и удалятся все сигнально-слотные соединения и сигнала redyRead не будет вообще.

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
eldar85
  опции профиля:
сообщение 2.4.2010, 21:17
Сообщение #10


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

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

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




Репутация:   0  


хотел посмотреть что выдают эти сигналы со слотами и в итоге они оба в дебаге выдали false
 qDebug() << connect(reply, SIGNAL(finished()), this, SLOT(getReplyFinished()));
    qDebug() << connect(reply, SIGNAL(readyRead()), this, SLOT(readyReadReply()));
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 28.1.2025, 15:24