| 
| 
 | Вопрос # 1 365/ вопрос открыт / | 
 |  Здравствуйте, уважаемые эксперты!Есть страница на которую чтобы попасть нужно залогиниться (HTTP запрос). Загружается странца с javascript. нужно ввести артикул, а результат выполнения загнать в TMemo. Bcgjkmpe. делфи 6 инди 6. TWebBrowser использовать нехочу. Вопрос: Есть ли информация или пример "Выполнение javascript из delphi"?. Подскажите где копать или емли есть готовые примеры поделитесь пожалуяста. Спасибо.
 Приложение:Переключить в обычный режим  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">  <HTML> <HEAD>  <LINK href="/spare.css" rel=stylesheet type=text/css>  <meta http-equiv="Content-Type" content="text/html;
charset=Windows-1251">   <script type='text/javascript'>	var req=null;	var console=null;	var READY_STATE_UNINITIALIZED=0;	var READY_STATE_LOADING=1;	var READY_STATE_LOADED=2;	var READY_STATE_INTERACTIVE=3;	var READY_STATE_COMPLETE=4;	function sendRequest(){		req=initXMLHTTPRequest();		var s = document.getElementById("sn");		if (req){			req.onreadystatechange=onReadyState;			req.open("GET","http://accentservice.kiev.ua/mod_perl/spare/article.pl",true);			req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");			req.send("sn="+s.value);		}	}	function initXMLHTTPRequest(){		var xRequest=null;		if (window.XMLHttpRequest){			xRequest=new XMLHttpRequest();		}else if (window.ActiveXObject){			xRequest=new ActiveXObject("Microsoft.XMLHTTP")		}		return xRequest;	}	function onReadyState(){		var ready=req.readyState;		var data=null;		if (ready==READY_STATE_COMPLETE){			data=req.responseText;		}else{			data="<p>   <img src=await.gif>"		}		toConsole(data);	}	function toConsole(data){		if (console!=null){			console.innerHTML=data;		}	}	window.onload=function(){		console=document.getElementById('console');	} </script> </HEAD>   <BODY>  style="width: 24px; height: 24px;" type="image" onClick="sendRequest();"><br>	<div id='console'></div> </BODY></HTML>   
|  |   Вопрос задал: Yuran (статус: Посетитель)Вопрос отправлен: 22 февраля 2008, 10:59
 Состояние вопроса: открыт, ответов: 1.
 |  Ответ #1. Отвечает эксперт: Вадим К Здравствуйте, Yuran!Выполнить java скрипт можно, но это потянет в конце кончов пол интернетэксплорера или написания собственного парсера. Но это глупое занятие. Если мне приходиться решать подобную задачу, я поступаю по простому. Для этого я держу на диске Mozilla Firefox (да это единственная цель) и установил для неё плагин HttpLive. (можно найти например здесь http://livehttpheaders.mozdev.org/installation.html).
 Теперь запускаем фаерфокса, идём в меню Инструменты - Live Http Headers.
 Появиться небольшое окно. Проверим, что на первой вкладке внизу есть галочка Capture (делать захват). Теперь идем на нужный сайт и ручками делаем всё что надо. переходим на наше окошко плагина и все запросы ответы видно как на ладоне. Их удобно скопировать в блокнот (или что то в этом стиле), поудалять лишние запросы (запросы картинок, css файлов).
 Посозерцав полученный листинг, берём делфи и начинаем реализовывать.
 Единственное, что обычно надо, это включить поддержку кукисов (AllowCookies).
 Можно конечно использовать сниффер, но в данном случае это будет перегиб.
 
|  | Ответ отправил: Вадим К (статус: Академик)Время отправки: 22 февраля 2008, 21:59
 Оценка за ответ: 5
 Комментарий к оценке: Спасибо. Идею понял. Буду заниматься |  
 Мини-форум вопросаВсего сообщений: 2; последнее сообщение — 26 февраля 2008, 23:20; участников в обсуждении: 2. 
|   | Yuran (статус: Посетитель), 26 февраля 2008, 16:39 [#1]:Попробовал сделать то чте вы мне посоветовали и столкнулся с такой проблемой, что этот проклятый javascript работает только с IE. В мозиле даже кнопочки не появляется. Че делать?. Будут идеи? |  
|   | Вадим К (статус: Академик), 26 февраля 2008, 23:20 [#2]:Тогда нужно использовать снифер и смотреть что же там идёт. К сожалению, есть много "программистов", которые не удосуживаются проверять свои творения на чём нибуть отличном от того, что у них есть. Правда можно попробывать "обмануть" скрипт, подменив в фаерфоксе юзерагент - некоторые скрипты просто проверяют, что это не IE и игнорируют всё остальное. Я всё таки рекомендую использовать сниффер. Полдня мучений с тем, что бы разобраться как он работает и в дальнейшем это мощный инструмент. Например для поиска паразитного трафика на своей машине.
 Мне например нравиться этот http://www.ethereal.com/ - он бесплатный и можно настроить фильтрацию.
 Галочка "подтверждения прочтения" - вселенское зло. |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |