Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Работа с сетью > Помогите авторизоваться на сайте


Автор: Temso 21.4.2014, 15:37
Уважаемые профессионалы, месяц убил на поиски аналогов авторизации и попытки написания кода с использованием win API (wiinet.dll) и все безрезультатно.  
Авторизация построена на sript (ах) и стандартным POST запросом не проходит.

Посмотрите код пожалуйста, подскажите пути решения вопроса. Страница авторизации http://www.alpari.ru/ru/analytics/dj_news/

Цитата

<form class="js-enter-form" name="analytics_auth" method="POST" action="https://www.alpari.ru/ru/login/">
  <div class="form-el 
    form-el_button
     js-form-el-field
     form-el_huge"
      data-field-type="ButtonField"
  data-field-name="enter"
     >
    
    <div class="form-el__wrap
    js-form-el__input    js-form-el-holder  " data-input-type="ButtonInput">
    
    <span class="form-el__caller">Авторизоваться</span><div class="form-el__deco form-el__deco_normal s-gradient_green"></div>
  <div class="form-el__deco form-el__deco_active s-gradient_orange"></div>
  <span class="form-el__loading-deco s-br_all"></span>
    </div></div>
    <input type="hidden"
    class="js-form-el-field js-form-el-holder js-form-el__input "
    name="successUrl"
    value="/ru/analytics/dj_news/"
    data-field-name="successUrl"
    data-input-type="HiddenInput"
    data-field-type="HiddenInputField"
     />

    <input type="hidden"
    class="js-form-el-field js-form-el-holder js-form-el__input "
    name="action"
    value=""
    data-field-name="action"
    data-input-type="HiddenInput"
    data-field-type="HiddenInputField"
     />

         <input type="hidden"
    class="js-form-el-field js-form-el-holder js-form-el__input js-register-visit-url"
    name="js-register-visit-url"
    value="dowjones_list"
    data-field-name="js-register-visit-url"
    data-input-type="HiddenInput"
    data-field-type="HiddenInputField"
        data-url="/ru/counters/register_visit/"
    />

        </form>




В конце кода страницы исполняются десяток скриптов назначение которых мне непонятно.

Код на С подобном языке выглядит так

Цитата


string Vers="HTTP/1.1";
string method="POST";  
string Object="/ru/login/"; // это из Анализера  HTTP Analizator V7
string Script="/ru/analytics/dj_news/"; 
string refer="http://www.alpari.ru/ru/analytics/dj_news/";

int hRequest=HttpOpenRequestW(hConnect,method,Object,Vers,refer,0,INTERNET_FLAG_KEEP_CONNECTION | INTERNET_FLAG_RELOAD | INTERNET_FLAG_PRAGMA_NOCACHE,0);

uchar Data[];
string d="login=LOGIN&password=PASWORD&successUrl=/ru/analytics/dj_news/&action=&js-register-visit-url";
int sz=ArrayResize(Data,StringLen(d));
StringToCharArray(d,Data);  

string head="\r\nContent-Type: application/x-www-form-urlencoded\r\n" +  "Content-Length: "+ (string)StringLen(d)+"\r\n"+"Cookie: income=1\r\n\r\n";

int hSend=HttpSendRequestW(hRequest, head, sizeof(head),Data,ArraySize(Data));


Страница после запроса читается, но в первозданном виде, т.е. авторизации и редиректа на то что нужно не происходит

За решение вопроса готов отбагодарить
 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)