Russian Qt Forum
Ноябрь 22, 2024, 00:39 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как перехватить текс запроса  (Прочитано 28629 раз)
Zusykss
Гость
« : Ноябрь 10, 2018, 09:08 »

Доброе утро, задача такая делаю запрос на google Переводчи, нужно перехватить текст запроса
https://translate.google.com.ua/translate_a/single?client=t&sl=en&tl=ru&hl=ru&dt=at&dt=bd&dt=ex&dt=ld&dt=md&dt=qca&dt=rw&dt=rm&dt=ss&dt=t&ie=UTF-8&oe=UTF-8&otf=2&ssel=0&tsel=0&kc=1&tk=605242.1029319&q=a

В слоте я нахожу по ссылке нужный мне запрос, но текста нету когда пытаюсь прочитать readAll();

Кто знает как получить нужный текст
Если получать текст с помощью метода  QString sHTML = m_view->page()->mainFrame()->toHtml();
Там приходит весь текст html который не нужны
Надеюсь кто-то в этом разбирается, а то уже устал искать ответ на такую мелочь

Благодарю за ранее)
Код:
Presenter::Presenter(const QUrl & url,QObject *parent) : QObject(parent),m_counterPage(0), m_flagStop(false)
{
    page.settings()->setAttribute(QWebSettings::WebGLEnabled, false);
    page.settings()->setAttribute(QWebSettings::DeveloperExtrasEnabled, true);
    page.settings()->setAttribute(QWebSettings::JavaEnabled, false);
    page.settings()->setAttribute(QWebSettings::JavascriptEnabled, true);
    page.settings()->setAttribute(QWebSettings::AutoLoadImages, true);
    page.settings()->setAttribute(QWebSettings::PluginsEnabled, false);
    page.settings()->setAttribute(QWebSettings::LocalStorageEnabled, true);
    page.settings()->setAttribute(QWebSettings::PrivateBrowsingEnabled, false);
    page.settings()->setAttribute(QWebSettings::LocalContentCanAccessRemoteUrls, false);
    page.settings()->setAttribute(QWebSettings::LocalContentCanAccessFileUrls, false);
    page.settings()->setAttribute(QWebSettings::Accelerated2dCanvasEnabled, true);
    page.settings()->setAttribute(QWebSettings::CSSGridLayoutEnabled, true);
    m_manager.reset(new QNetworkAccessManager);
    m_view = new QWebView;
    m_view->page()->setNetworkAccessManager(m_manager.get());
    m_view->show();

    QObject::connect(m_manager.get(), &QNetworkAccessManager::finished, this, &Presenter::savePage2);
    m_flagHide = false;
    if(!url.url().isEmpty())
        m_view->load(url);
}

void Presenter::savePage2(QNetworkReply * reply)
{
    QNetworkReply * reply2 = reply;
    qDebug() << "read info" << reply2->url();
    QString url = reply2->url().toString();
    if(url.indexOf("https://translate.google.com.ua/translate_a") != -1)
    {
        QString result4 =  reply2->readAll();
        qDebug() << result4;
    }
}
« Последнее редактирование: Ноябрь 10, 2018, 09:14 от Zusykss » Записан
Zusykss
Гость
« Ответ #1 : Ноябрь 10, 2018, 11:39 »

Пробовал сделать запрос на прямую через QWebView

Написал такой код
попытался считать ответ он пишет пустой Html
в каком месте хранится этот текс??
Он же как-то его находит
Весь проект прилаживаю к посту
Код:
QUrl url2("https://translate.google.com.ua/translate_a/singleclient=t&sl=en&tl=ru&hl=ru&dt=at&dt=bd&dt=ex&dt=ld&dt=md&dt=qca&dt=rw&dt=rm&dt=ss&dt=t&ie=UTF-8&oe=UTF-8&otf=2&ssel=0&tsel=0&kc=1&tk=605242.1029319&q=a");
m_view->load(url);       
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.127 секунд. Запросов: 20.