загрузка скриптовых файлов под Windows - PullRequest
0 голосов
/ 10 декабря 2008

Я собираюсь написать скрипт для загрузки некоторого количества файлов под Windows XP. Все машины, на которых будет запускаться скрипт, находятся за прокси-сервером, и настройки прокси-сервера вводятся в конфигурацию IE.

Что мне пришло в голову, так это либо как-то вызвать IE из командной строки, и с помощью загрузочных файлов его конфигурации мне бы понадобилось. Можно ли даже использовать некоторые методы оболочки?

Другой вариант - использовать wget под Win, но мне нужно передать ему настройки прокси. Как восстановить эти настройки из конфигурации IE?

Ответы [ 3 ]

1 голос
/ 10 декабря 2008

Я согласен с Treb, вам лучше использовать wget, а путь к настройкам прокси можно найти в "HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Internet Settings \ ProxyServer"

1 голос
/ 10 декабря 2008

Использовать 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 для загрузки.

1 голос
/ 10 декабря 2008

В принципе, я бы предпочел подход wget вместо использования IE каким-либо образом.

Путь к сценарию конфигурации хранится в реестре в HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections\DefaultConnectionSettings. Это двоичное значение, адрес сценария начинается с позиции 0x18 и кажется закодированным в ASCII.

Чего я не знаю, так это если wget может оценить скрипт сам по себе, или вам нужно явно разобрать его в вашем скрипте, который затем передал бы адрес прокси на wget.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...