Использование двоичного файла CGI в приложении - PullRequest
0 голосов
/ 06 января 2010

Как бы интерфейс приложения с бинарным CGI? Например, допустим, что мое приложение работает в Windows и хочет вызвать двоичный файл PHP.exe в контексте веб-сервера. Как бы я это сделал? Передавая какие-то аргументы командной строки? Я использую C ++, если это помогает.

ПРИМЕЧАНИЕ. - Я знаю, как вызывать процессы и тому подобное. Я просто хочу знать, как CGI вписывается в это.

1 Ответ

1 голос
/ 06 января 2010

Интерфейс CGI работает следующим образом: при поступлении запроса веб-сервер выполняет процесс, HTTP-ввод (данные AKA POST) передается процессу через стандартный ввод данных, генерируемый контент и заголовки отправляются через стандартный вывод. Переменные сервера передаются через окружение.

Теперь ваш вопрос недостаточно ясен. У вас есть CGI-совместимый локальный двоичный файл, который вы хотите вызвать из программы? Или вы хотите вызвать CGI-совместимый двоичный файл где-нибудь на веб-сервере?

В первом случае используйте обычные средства создания процесса (CreateProcess, fork / exec) с перенаправлением каналов ввода-вывода. В последнем случае используйте клиентскую библиотеку HTTP (curl, WinInet) для выдачи HTTP-запроса.

...