Раньше не сталкивался с подобным, да и в JS как - то не сильно. В общем делаю запрос например на адрес - http://www.offgamers.com/supplier_xmlhttp.php?action=get_buyback_server_list&buyback_cat_id=1401&slang=1&buyback_products_id=0 таким кодом (synapse, особой разницы конечно нет, на индейце наверно тоже будет, хотя не пробовал ещё): Code: http:=thttpsend.Create; slist:=tstringlist.Create; http.UserAgent:='Mozilla/5.0 (Windows NT 6.1; rv:14.0) Gecko/20100101 Firefox/14.0.1'; http.AddPortNumberToHost:=false; http.MimeType:='application/x-www-form-urlencoded'; http.HTTPMethod('get','http://www.offgamers.com/supplier_xmlhttp.php?action=get_buyback_server_list&buyback_cat_id=1401&slang=1&buyback_products_id=0'); slist.LoadFromStream(http.Document); showmessage(slist.Text); showmessage(http.Headers.Text); Отвечает следующие: Code: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><meta http-equiv="Content-Script-Type" content="text/javascript"><script type="text/javascript">function setCookie(c_name, value, expiredays) { var exdate = new Date(); exdate.setDate(exdate.getDate()+expiredays); document.cookie = c_name + "=" + escape(value) + ((expiredays==null) ? "" : ";expires=" + exdate.toGMTString()) + ";path=/"; } function getHostUri() { var loc = document.location; return loc.toString(); } setCookie('YPF8827340282Jdskjhfiw_928937459182JAX666', '212.164.61.1*1', 10); setCookie('DOAReferrer', document.referrer, 10); location.href = getHostUri();</script></head><body><noscript>This site requires JavaScript and Cookies to be enabled. Please change your browser settings or upgrade your browser.</noscript></body></html> И как это в куки обратить, или чё сделать надо. Но когда смотрю снифером, то показывает, что страница сразу получается, без всяких редеректов и прочего. Как такое может быть? Что делать в таких случаях? Ах да, забыл, что если куки получил, то даже в браузере с этими куками не грузится уже страница.
Хм. В IE у меня идет два запроса, когда я обращаюсь по твоему url-у. Сначало получаю то что выше. А затем: <response>You are not allowed to access from outside</response>. Куки же там в коде вставлены: setCookie('YPF8827340282Jdskjhfiw_928937459182JAX666', '109.229.81.221', 10); setCookie('DOAReferrer', document.referrer, 10). Выдернуть их легко.
хм... что странного? ответ, заголовок: Code: Server: nginx/1.2.0 Date: Sun, 23 Sep 2012 19:23:57 GMT Content-Type: text/html Transfer-Encoding: chunked Connection: close P3P: CP="NON DSP COR ADMa OUR IND UNI COM NAV INT" Cache-Control: no-cache, no-store, must-revalidate Pragma: no-cache Функция назначения куков, через JS. Code: <script type="text/javascript"> function setCookie(c_name, value, expiredays) { var exdate = new Date(); exdate.setDate(exdate.getDate()+expiredays); document.cookie = c_name + "=" + escape(value) + ((expiredays==null) ? "" : ";expires=" + exdate.toGMTString()) + ";path=/"; } function getHostUri() { var loc = document.location; return loc.toString(); } setCookie('YPF8827340282Jdskjhfiw_928937459182JAX666', '188.162.37.ip', 10); setCookie('DOAReferrer', document.referrer, 10); location.href = getHostUri(); </script> Суть Просто эмулироешь на дельфях функцию set-cookie, дальше делаешь редирект, на location. все...
Как вот это эмулировать?: Code: function setCookie(c_name, value, expiredays) { var exdate = new Date(); exdate.setDate(exdate.getDate()+expiredays); document.cookie = c_name + "=" + escape(value) + ((expiredays==null) ? "" : ";expires=" + exdate.toGMTString()) + ";path=/"; }
Это функция устанавливает куки установленные в valut аргументе функции. Ищи место где она вызываеться.