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

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

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Работа с сайтом.  (Прочитано 9294 раз)
Pixel
Гость
« Ответ #15 : Июнь 06, 2013, 11:48 »

   
Код:
    QNetworkRequest request(QUrl("http://chemogu.ru/login/ajax-login/"));
    QNetworkCookieJar *jar = new QNetworkCookieJar;
    m_NAM.setCookieJar(jar);
    request.setRawHeader("User-Agent", "Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9b5) Gecko/2008050509 Firefox/3.0b5");
    request.setRawHeader("Referer", "http://chemogu.ru/");
    request.setRawHeader("Pragma", "no-cache");
    request.setRawHeader("Host", "chemogu.ru");
    request.setRawHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
    request.setRawHeader("Accept", "application/json, text/javascript, */*; q=0.01");
    request.setRawHeader("X-Requested-With", "XMLHttpRequest");
    request.setRawHeader("Content-Length", "131");
    request.setRawHeader("Connection", "keep-alive");
    request.setRawHeader("Cache-control", "no-cache");
    request.setRawHeader("Accept-Language", "ru=RU,ru;q=0.8,en=US;q=0.5,eb;q=0.3");
    request.setRawHeader("Accept-Encoding", "gzip, deflate");
    request.setRawHeader("Accept", "application/json, text/javascript, \"/\"; q=0.01");
    m_NAM.post(request, "login=*********&password=*******&remember=on&return-path=http%3A%2F%2Fchemogu.ru%2F&security_ls_key=f197d25d6a04db642aa23dfd7b14861f");
Тот же результат - "Hacking attemp!".
Pixel, посмотри на заголовок запроса на моем скриншоте, там перелается 12 параметров, куки, и собственно сам запрос.
Если ты думаеш отделатся тремя, то ты сильно ошибся.
Просто мое расширение показало всего 3 параметра, их я и передал.
Ну и так, ради интереса, чем тебя не устроили стандартные хромовские расширения для разработчика ?
Как видно из скриншота (http://screenshot.su/show.php?img=b93eef681db98d8832e669422633ba37.jpg) стандартный хромовский выдал не то, что нужно. Судя по всему это запросы ресурсов главной страницы.
спарси из формы значение security_ls_key
Там отсутсвует такая строчка. Из формы значит с кода страницы я правильно понял?
Записан
alex312
Хакер
*****
Offline Offline

Сообщений: 606



Просмотр профиля
« Ответ #16 : Июнь 06, 2013, 12:20 »

Просто мое расширение показало всего 3 параметра, их я и передал.
Плохое, плохое расширение   Злой

стандартный хромовский выдал не то, что нужно.
НЕВЕРЮ .

Там отсутсвует такая строчка. Из формы значит с кода страницы я правильно понял?
эта строчка не из воздуха берется, ищи. смотри исходный код страницы.
Записан
thechicho
Гость
« Ответ #17 : Июнь 06, 2013, 12:31 »

var LIVESTREET_SECURITY_KEY = 'b309550a7e31c2fbf249a6f08baf43df';
Записан
Pixel
Гость
« Ответ #18 : Июнь 06, 2013, 16:37 »

Код:
        QNetworkRequest request(QUrl("http://chemogu.ru/login/ajax-login/"));
        request.setRawHeader("User-Agent", "Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9b5) Gecko/2008050509 Firefox/3.0b5");
        request.setRawHeader("Referer", "http://chemogu.ru/");
        request.setRawHeader("Pragma", "no-cache");
        request.setRawHeader("Host", "chemogu.ru");
        request.setRawHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
        request.setRawHeader("Accept", "application/json, text/javascript, */*; q=0.01");
        request.setRawHeader("X-Requested-With", "XMLHttpRequest");
        request.setRawHeader("Content-Length", "131");
        request.setRawHeader("Connection", "keep-alive");
        request.setRawHeader("Cache-control", "no-cache");
        request.setRawHeader("Accept-Language", "ru=RU,ru;q=0.8,en=US;q=0.5,eb;q=0.3");
        request.setRawHeader("Accept-Encoding", "gzip, deflate");
        request.setRawHeader("Accept", "application/json, text/javascript, \"/\"; q=0.01");

        QNetworkCookieJar *jar = new QNetworkCookieJar;
        m_NAM.setCookieJar(jar);

        m_NAM.post(request, "login=**********&password=********" \
                   "&remember=on&return-path=http%3A%2F%2Fchemogu.ru%2F&" \
                   "security_ls_key="+key.toUtf8());
и снова "Hacking attemp!"
Key перед этим парсится методом get главной страницы.
Записан
thechicho
Гость
« Ответ #19 : Июнь 06, 2013, 16:40 »

ну зайди на главную страницу, прими куки. возможно придется паузу перед авторизацией сделать
Записан
Pixel
Гость
« Ответ #20 : Июнь 06, 2013, 16:59 »

Разобрался, заработало. Всем спасибо за помощь! Сам виноват)) создавал новые куки каждый запрос, вот он и отправлял меня. Задержка не понадобилась, и кстати говоря для работы хватило тех самых трех заголовков, что показало мое расширение.
Теперь возник вопрос. Получается сайт может попросту не пускать меня в авторизацию, если куки отключены? Можно ли это как-то обойти? И еще я могу те самые куки просто сохранить в файл и потом их использовать, не принимая снова с сайта?
Записан
thechicho
Гость
« Ответ #21 : Июнь 06, 2013, 17:12 »

сессия на куках основана, без них сайт не определит юзера.

можешь, только придется унаследоваться от QNetworkCookieJar
.h
Код:
class RemadedNetworkCookieJar: public QNetworkCookieJar
{
public:
    RemadedNetworkCookieJar(QObject *parent = 0);
    virtual ~RemadedNetworkCookieJar();

    QList<QNetworkCookie> getAllCookies();
    void setAllSitesCookies(const QList<QNetworkCookie>& cookieList);
};

.cpp
Код:
RemadedNetworkCookieJar::RemadedNetworkCookieJar(QObject *parent) : QNetworkCookieJar(parent) { }

QList<QNetworkCookie> RemadedNetworkCookieJar::getAllCookies()
{
    return allCookies();
}

void RemadedNetworkCookieJar::setAllSitesCookies(const QList<QNetworkCookie>& cookieList)
{
    setAllCookies(cookieList);
}

RemadedNetworkCookieJar::~RemadedNetworkCookieJar() { }

только надо ли оно.
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


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