Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.12.2012, 20:10   #1
bakanaev
Форумчанин
 
Регистрация: 27.03.2012
Сообщений: 438
По умолчанию [Post Indy] Для просмотра этого сайта, включите в браузере поддержку JavaScript

Сабж. Сайт просит включить поддержку JavaScript когда делаю Post запрос (второй в коде). Как это обходится? Так же требует включить поддержку куков, хотя логинемся удачно = куки стоят.
Код:
procedure TForm1.Button1Click(Sender: TObject);
var html:string;
    data:TStringList;
    multi:Tidmultipartformdatastream;
begin

    html:=IdHTTP1.Get('http://auto.ru/');

 multi:=Tidmultipartformdatastream.Create;
 data:=TStringList.Create;

 multi.AddFormField('token',IsolateText_Mini(html,'name="token" value="','"'));
 multi.AddFormField('referer','http%3A%2F%2Fauto.ru%2F');
 multi.AddFormField('user_name','felhadred4601262@mail.ru');
 multi.AddFormField('user_pass','112233');
 multi.AddFormField('submit','Войти');
 IdHTTP1.Post('https://auth.auto.ru/login.html',multi);

 data.Add('step=1');
 data.Add('accept=2');
 data.Add('accept=yes');
 data.Add('buttons%5Bnext%5D=%D0%94%D0%B0%D0%BB%D0%B5%D0%B5+%3E%3E');
 IdHTTP1.Request.Accept:='text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
 IdHTTP1.Post('http://all.auto.ru/office/new/?zstep=2',data);


end;

//................................
function    IsolateText_Mini( Const S: String; Tag1, Tag2: string): string;
var pScan, pEnd, pTag1, pTag2: PChar; foundText: String;searchtext: String;
begin
foundText:='';
 searchtext := Uppercase(S);
 Tag1:= Uppercase( Tag1 );
 Tag2:= Uppercase( Tag2 );
 pTag1:= PChar(Tag1);
 pTag2:= PChar(Tag2);
 pScan:= PChar(searchtext);

  pScan:= StrPos( pScan, pTag1 );
    if pScan <> Nil then
      begin
       Inc(pScan, Length( Tag1 ));
        pEnd := StrPos( pScan, pTag2 );
        If pEnd <> Nil then
           begin
            SetString( foundText, Pchar(S) + (pScan- PChar(searchtext) ), pEnd - pScan );
           IsolateText_Mini:=foundText;
            pScan := pEnd + Length(tag2);
           end;
      end;
 if foundText = '' then IsolateText_Mini:='';

end;
//..........................................

Последний раз редактировалось bakanaev; 01.12.2012 в 20:13.
bakanaev вне форума Ответить с цитированием
Старый 01.12.2012, 20:13   #2
bakanaev
Форумчанин
 
Регистрация: 27.03.2012
Сообщений: 438
По умолчанию

Ответ сервера на второй Post
Код HTML:
<html>
    <head>
        <title></title>
        <meta http-equiv="Expires" content="28FEB2002" />
        <meta http-equiv="CACHE-CONTROL" content="NO-CACHE" />
	<meta charset="UTF-8">
        <script type="text/javascript">
        function addFields(formObj) {  } function redirect(commitType) { var cookieenabled = false; if (navigator.cookieEnabled) { if (navigator.cookieEnabled==true) { var exdate=new Date(); exdate.setDate(exdate.getDate()+1); document.cookie="PRID=" +escape(genPid())+";path=/; expires="+exdate.toGMTString()+"; domain=.auto.ru"; cookieenabled=(document.cookie.indexOf("PRID")!=-1)? true : false; } } if (cookieenabled) { if (commitType=="reload") window.location.reload(true); else { var oFrm = document.createElement("form"); var oEnvlp = document.getElementById("frmPlsHldr"); oFrm.method = "post"; addFields(oFrm); oEnvlp.appendChild (oFrm); oFrm.submit(); } } else { var oJSCookieMSGObj = document.getElementById('JSCookieMSG'); oJSCookieMSGObj.style.display = 'block'; } } 
        </script>
    </head>
    <body style="background-color:white">
        <div style='display:none' id='sbbhscc'></div><script type="text/javascript">sbbvscc='%3c%66%6f%6e%74%20%73%74%79%6c%65%3d"%64%69%73%70%6c%61%79%3a%6e%6f%6e%65"%20%69%64%3d"%73%62%62%5f%55%43%46%53%6c%4a%41"%3e%79%53%71%47%6d%20%6f%79%4b%20%4a%55%65%58%56%42%79%63%20%49%79%5a%48%20%52%53%7a%46%79%20%7a%6e%48%79%63%20%6c%69%45%51%78%73%79%3c%2f%66%6f%6e%74%3e'; sbbgscc='%66%75%6e%63%74%69%6f%6e%20%73%62%62%5f%55%47%52%4e%51%4a%28%29%20%7b%20%6d%43%46%6e%3d%28%36%31%29%2b%4d%61%74%68%2e%66%6c%6f%6f%72%28%28%28%28%28%28%37%31%29%20%2d%20%31%38%29%20%2b%20%37%30%29%20%2d%20%33%39%29%20%2d%20%39%29%20%2f%20%31%37%29%3b%20%72%65%74%75%72%6e%20%53%74%72%69%6e%67%2e%66%72%6f%6d%43%68%61%72%43%6f%64%65%28%6d%43%46%6e%29%3b%20%7d%66%75%6e%63%74%69%6f%6e%20%73%62%62%5f%70%55%46%41%28%29%20%7b%20%73%62%62%4f%62%6a%20%3d%20%64%6f%63%75%6d%65%6e%74%2e%67%65%74%45%6c%65%6d%65%6e%74%42%79%49%64%28%27%73%62%62%5f%55%43%46%53%6c%4a%41%27%29%3b%20%72%65%74%75%72%6e%20%73%62%62%4f%62%6a%2e%69%6e%6e%65%72%48%54%4d%4c%2e%73%75%62%73%74%72%28%30%2c%31%29%3b%20%7d; function genPid() {return %73%62%62%5f%55%47%52%4e%51%4a%28%29+%73%62%62%5f%70%55%46%41%28%29; }';</script><div id='sbbfrcc' style='position: absolute; top: -10px; left: -3px; font-size:1px'></div>
        <div id='JSCookieMSG' style="display:none"><h3 class="b-win-title">Информация для пользователя</h3>
<p class="b-win-p">Пожалуйста, для просмотра этого сайта, включите в браузере поддержку Сookies</p>
<strong class="b-win-inc">Incident Id:</strong> 50ba242620e1e
</div>
        <div id='JSOffMSG'><noscript><h3 class="b-win-title">Информация для пользователя</h3>
<p class="b-win-p">Пожалуйста, для просмотра этого сайта, включите в браузере поддержку JavaScript</p>
<strong class="b-win-inc">Incident Id:</strong> 50ba242620e1e
</noscript></div>
        <div id='frmPlsHldr'></div>
        <script type="text/javascript">
            oJSOffMSG = document.getElementById('JSOffMSG'); oJSOffMSG.style.display = 'none'; try{ y=unescape(sbbvscc.replace(/^<\!\-\-\s*|\s*\-\->$/g,'')); document.getElementById('sbbhscc').innerHTML=y; x=unescape(sbbgscc.replace(/^<\!\-\-\s*|\s*\-\->$/g,'')); } catch(e){ x='function genPid() {return "jser"; }'; } document.write ('<'+'script type="text/javascri'+'pt">'+x+' redirect("reload");</'+'script>'); 
         </script>
    </body>
</html>
bakanaev вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
JavaScript и расположение окна предварительного просмотра(QuickView) siyogi Помощь студентам 0 14.11.2012 16:30
Срочно : Требуется поставить запрет для иностранных IP для просмотра сайта. pornodiller Фриланс 2 06.11.2008 22:02