Мне разместили веб-страницу на поле Windows, которое я должен гарантировать, загружается, по крайней мере, однажды/день. Мой текущий план состоит в том, чтобы создать запланированную задачу, которая открывает Internet Explorer и поражает URL:
"C:\Program Files\Internet Explorer\iexplore.exe" myurl.com/script_to_run_daily.aspx
Это было просто установить и хорошо работает, но это кажется мне взломом, потому что Internet Explorer на самом деле должен открыть и поразить этот URL. Мне не нужен никакой вход назад от этой страницы, он просто хранит кэшированные данные в файлах, когда он поражен.
Существует ли дождевик способ сделать это? В случае, если это имеет значение, это - сайт VB.net.
Заранее спасибо!
Другой вариант - VB Script. Например (сохранить как file.vbs):
sSrcUrl = "http://yourdomain.com/yourfile.aspx"
sDestFolder = "C:\yourfolder\"
sImageFile = "filename.txt"
set oHTTP = WScript.CreateObject("MSXML2.ServerXMLHTTP")
oHTTP.open "GET", sSrcUrl, False
oHTTP.send ""
set oStream = createobject("adodb.stream")
Const adTypeBinary = 1
Const adSaveCreateOverWrite = 2
oStream.type = adTypeBinary
oStream.open
oStream.write oHTTP.responseBody
oStream.savetofile sDestFolder & sImageFile, adSaveCreateOverWrite
set oStream = nothing
set oHTTP = nothing
WScript.Echo "Done..."
Существуют Windows версии наиболее распространенных средств запроса http командной строки, таких как cURL и wget. Вы, безусловно, можете создать запланированную задачу, которая будет выполнять одну из них. Я также сделал это из скрипта Windows Scripting Host, если вам нужно было зациклиться или создать URL параметры на лету, или некоторые из них.
.Вы можете запланировать сценарий PowerShell. PS довольно мощный и дает доступ ко всему .Net Framework, плюс изменения. Вот пример:
$request = [System.Net.WebRequest]::Create("http://www.example.com")
$response = $request.GetResponse()
$response.Close()