На локальном компьютере
Вид.
Запуск программы напрямую из HTTP-URL-адреса невозможен в Windows ... однако можно запускать программы с сервера WebDAV (который по-прежнему является HTTP с некоторыми расширениями), поскольку в Windows есть «перенаправитель» WebDAV наряду с более часто используемым SMB.
Например, SysInternals предлагает этот сервис, на live.sysinternals.com
котором работает WebDAV. Хотя вы не можете просто запустить https://live.sysinternals.com/disk2vhd.exe
Windows, вы можете переписать URL-адрес в UNC-путь \\live.sysinternals.com\disk2vhd.exe
- Windows автоматически обнаружит, что он не поддерживает SMB, но поддерживает WebDAV, и извлечет и запустит исполняемый файл.
В противном случае просто загрузите его во временную папку и запустите вручную. (PowerShell имеет команды для загрузки файлов.)
На веб-сервере
Нет.
Если вы взаимодействуете с веб-сервером исключительно через HTTP, то вы ограничены тем, что веб-сервер позволяет вам делать. Вы только делаете запрос GET или POST для URL - веб-сервер решает, что делать.
В некотором смысле многие веб-сайты являются программами (например, сайт Super User - гигантская программа, написанная на чем-то .NET); но они работают только потому, что веб-сервер настроен на их запуск.
Например, в прошлом это было очень распространенным явлением, позволяющим запускать программы любого типа, если они были размещены в cgi-bin
каталоге (независимо от их типа или расширения). В настоящее время многие веб-серверы вместо этого настроены на запуск любого *.php
файла в качестве программы (независимо от местоположения).
Но это обычно не распространяется на разные файлы .exe в случайных каталогах. Если ваши запросы на URL просто загружают файл, то это единственное, что вы можете сделать: вы, посторонний, не можете переопределить конфигурацию веб-сервера.
(И, конечно же, для запуска программ Windows .exe на сервере должен быть установлен Windows ...)