Меня вот-вот заставят написать сценарий для загрузки некоторого количества файлов под Windows XP. Все машины, на которых будет запускаться сценарий, находятся за прокси, и настройки прокси вводятся в конфигурацию IE.
Мне пришло в голову либо как-то вызвать IE из командной строки и использовать нужные мне файлы конфигурации для загрузки. Возможно ли использование каких-то шелл-техник?
Другой вариант - использовать wget под Win, но мне нужно передать ему настройки прокси. Как восстановить эти настройки из конфигурации IE?





В принципе, я бы предпочел подход wget, чем использовать каким-либо образом IE.
Путь к сценарию конфигурации хранится в реестре в HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections\DefaultConnectionSettings. Это двоичное значение, адрес сценария начинается с позиции 0x18 и кажется, что он закодирован в ASCII.
Чего я не знаю, так это того, может ли wget оценить скрипт сам по себе или вам нужно явно проанализировать его в своем скрипте, чтобы затем передать адрес прокси в wget.
Я согласен с Treb, что вам следует предпочесть wget, а путь к настройкам прокси можно найти в "HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Internet Settings \ ProxyServer"
Привет, у меня есть IE 7 на моей машине, но я смутно помню, как использовал этот путь на машине с IE 6.
подождите, я сделал этот пост с другого компьютера и на нем IE 6
Используйте JScript:
function ie_NavigateComplete2(pDisp, url)
{
// output for testing
WScript.Echo('navigation to', url, 'complete');
// clear timer
t = 0;
}
// create ActiveX object
var ie = WScript.CreateObject('InternetExplorer.Application', 'ie_');
ie.Height = 200;
ie.Width = 200;
ie.Visible = true;
ie.Navigate('http://www.example.com/worddoc.doc');
var t = (+new Date()) + 30000;
// sleep 1/2 second for 30 seconds, or until NavigateComplete2 fires
while ((+new Date()) < t)
{
WScript.Sleep(500);
}
// close the Internet Explorer window
ie.Quit();
Затем вы вызываете его с помощью start download.js или cscript download.js. Вы можете сделать что-то подобное с VBScript, но мне удобнее использовать JScript.
Обратите внимание, что это работает ТОЛЬКО, если целью ie.Navigate() является файл, который запрашивает «Открыть» / «Сохранить» / «Отменить». Если это тип файла, такой как PDF, который открывается в браузере, IE просто откроет ресурс, а затем закроет окно, возможно, не то, что вы хотите. Очевидно, вы можете настроить сценарий в соответствии со своими потребностями, например, не закрывать окно IE после завершения загрузки или увеличивать окно и т. д.
См. Документация по объекту InternetExplorer для получения дополнительной информации о доступных событиях, методах и свойствах.
Используя этот метод, вам не нужно беспокоиться о чтении настроек прокси для Internet Explorer, они будут использоваться, потому что вы используете Internet Explorer для загрузки.
Путь в реестре, который вы указываете, не существует на моем компьютере - возможно, это зависит от версии IE, я использую IE 6.0