Название: [РЕШЕНО] Сайт через QWebView не грузится Отправлено: gil9red от Декабрь 15, 2016, 16:14 Попробовал загрузить http://gama-gama.ru и что-то не выходит
Код
Может, кто-то на свежую голову расскажет в чем проблема? :) Название: Re: Сайт через QWebView не грузится Отправлено: Bepec от Декабрь 15, 2016, 22:19 Как вариант не включены скрипты, сайт видит сырой заголовок клиентайди или как то так и не отдаёт данные, или сайт подгружает данные из https :D
Название: Re: Сайт через QWebView не грузится Отправлено: kambala от Декабрь 15, 2016, 22:34 это Qt 4 нужен что ли? не нашел у себя в 5.6 QWebView.
Название: Re: Сайт через QWebView не грузится Отправлено: gil9red от Декабрь 16, 2016, 08:27 Как вариант не включены скрипты, сайт видит сырой заголовок клиентайди или как то так и не отдаёт данные, или сайт подгружает данные из https :D Скрипты включены они вроде бы по умолчанию включены Клиентайди, т.е. User-Agent? А вот вариант с подгрузкой данных по https интересен... Сам сайт при обращении подсовывает html с куском яваскрипта, данных еще нет, потом что-то делает и вжух -- страница загрузилась, и при загрузке в QWebView страница грузится-грузится и потом View предлагает убить скрипт, мол долго выполняется Да, я на 4-й тестировал, kambala, можешь на 5-й версии проверить? Название: Re: Сайт через QWebView не грузится Отправлено: Bepec от Декабрь 16, 2016, 09:50 Да, юзер агент. А насчёт Https скорее всего так и есть. У вас какой нить node.js подгружаться пытается из https google хранилища. Соответственно без openssl у него нифига не получается, вот он и виснет.
PS выведите ошибки SSL, хоть определитесь есть они или нет. PPS скачайте себе openssl, установите, попробуйте. Там есть ещё пара хитрых трюков типо установки ssl сертификата по умолчанию и редактирование Network профиля, но я их уже и не помню, а проектов чего то не нашёл :D Название: Re: Сайт через QWebView не грузится Отправлено: gil9red от Декабрь 16, 2016, 14:34 Смог отловить ошибку javascript при прогрузке страницы:
Цитировать https://tars2.variti.net/share/sTfhpQ1NNiE1?sid=108&scheme=http&host=gama-gama.ru&uri=%2f&t=1481887794050&sad=v%2fsDgAmg%3d%3d&uid=S3aNTqjdIWnAGbMa&uct=1481887794049&kct=0&m=4&ver=3&v=L-mhS1cp_IRSH9__0NynhQ&test=1NNiE1 line 3: JavaScript execution exceeded timeout. Для этого в наследнике от QWebPage переопределил функцию. А еще я в нем поменял User-Agent: Код
А вот собственно это и приходит при загрузке: Код: <html><head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta http-equiv="refresh" content="10;URL=/ciez2a"> <script src="https://tars2.variti.net/share/aYfXXK0DJ4Y1?sid=108&scheme=http&host=gama-gama.ru&uri=%2f&t=1481888076642&sad=v%2fsDgAmg%3d%3d&uid=iUHgqjLXqoGlw0TH&uct=1481888076641&kct=0&m=4&ver=3&v=T7XgbckrrOYo_1d7_7tM3g&test=0DJ4Y1"></script></head> <body> <script type="text/javascript"> var head = document.getElementsByTagName("head")[0]; var script = document.createElement("script"); var done = false; // Handle Script loading var url = "https://tars2.variti.net/share/aYfXXK0DJ4Y1?sid=108&scheme=http&host=gama-gama.ru&uri=%2f&t=1481888076642&sad=v%2fsDgAmg%3d%3d&uid=iUHgqjLXqoGlw0TH&uct=1481888076641&kct=0&m=4&ver=3&v=T7XgbckrrOYo_1d7_7tM3g"; if (window.callPhantom || window._phantom || window.__phantomas) { url = url + "&test=aYfXXK"; } else { url = url + "&test=0DJ4Y1"; } script.src = url; script.onload = script.onreadystatechange = function() { // Attach handlers for all browsers if ( !done && (!this.readyState || this.readyState === "loaded" || this.readyState === "complete") ) { done = true; ipp.setCookie(); location.href="http://gama-gama.ru/?utm_referrer="; script.onload = script.onreadystatechange = null; // Handle memory leak in IE } }; head.appendChild(script); </script> </body></html> Фигня какая-то... Ловля ssl ошибок через слот sslErrorHandler ничего не отобразило Название: Re: Сайт через QWebView не грузится Отправлено: kambala от Декабрь 16, 2016, 18:03 все работает, 5.6.2, macOS 10.12
Код
Название: Re: Сайт через QWebView не грузится Отправлено: gil9red от Декабрь 16, 2016, 19:10 Проверил на Qt5 -- работает.
Похоже, дело в движках. Qt4 использует WebKit, а Qt5 -- Chromium, а точнее, то, что тот сайт похоже использует какие-то фишки, которые не смог "переварить" WebKit Код
Код
|