lekaton lekatyan Ответов: 1

C# webbrowser и HTTP-команды


Я пытаюсь разработать серверное приложение, которое будет принимать команды оболочки через веб-панель HTTP.Для этого я использовал WebBrowser на WindowsForm. Application. Подобный этому

На стороне сервера я написал этот код

WebBrowser1.Navigate("http://localhost/commander.html");
if(webbrowser1.document.contains("cmd"))
{
            process.start(@"cmd.exe")
        }
 if(webbrowser1.document.contains("calc"))
{
            process.start(@"calc.exe")
        }


Этот код работает, когда на веб-сервере равен тексту типа "cmd", но они выполняются для многих cmd.exe . И программа не принимает живые изменения на веб-сервере, и не выполняет вторую команду "calc.exe". Я знаю, что для таких программ лучше всего использовать TCP-сокеты, но мой маршрутизатор не разрешает tcp-соединения между моим и другим пользовательским компьютером.

А веб-панель выглядит так

<pre><input type="text" id="commander" name="cmder" size="40"/>
<input type="submit" id="cmdsend" name "shellsend" />


Есть идеи? Извините за мой английский

Что я уже пробовал:

Приложения на серверной стороне
WebBrowser1.Navigate("http://localhost/commander.html");
if(webbrowser1.document.contains("cmd"))
{
            process.start(@"cmd.exe")
        }
 if(webbrowser1.document.contains("calc"))
{
            process.start(@"calc.exe")
        }

И СТОРОНА ВЕБ-ПАНЕЛИ
<pre><input type="text" id="commander" name="cmder" size="40"/>
<input type="submit" id="cmdsend" name "shellsend" />

ZurdoDev

Какой у вас вопрос?

lekaton lekatyan

Как создать сервер side.exe кто будет принимать команды через веб-панель "example.com/commander.html - и отправить вывод на веб-панель?

Richard Deeming

Я надеяться вы путаетесь между "серверной стороной" (вещи, которые работают на сервере) и "клиентская сторона" (вещи, которые работают на клиенте).

Использование WebBrowser управление из автоматического серверного кода-это то, что имеет смысл только в крайне редких случаях и может вызвать серьезные проблемы.

Использование его для чтения статического HTML-файла с того же компьютера-это не одно из таких обстоятельств! :)

Karthik_Mahalingam

Всегда использовать  Ответить  кнопка, чтобы отправить комментарии / запрос пользователю, чтобы пользователь получил уведомление и ответил на ваш текст.

1 Ответов

Рейтинг:
2

Garth J Lancaster

Почему бы вам не посмотреть на использование чего-то вроде "Нэнси" для вашего "серверного" приложения и не определить интерфейс REST - тогда вы могли бы определить маршрут

Get["/actions/{command}"]


затем вы можете запустить "команду" и вернуть результат (возможно, помеченный) в REST result/payload