cgi-bin скрипт из консоли

программирование Linux apache cgi-bin

Добрый день!
Как запустить cgi-bin скрипт скрипт из консоли, при этом передать ему параметры? Скрипт выполняет как GET, так и POST запросы. При GET запросах URL выглядит примерно так:
http://10.10.10.1/cgi-bin/utm5/card5?cmd=close&skey=75f65d4ee629f5d4dcddc42936157dd1

Примечание:
идея конечно интересная- "что бы скрипт запустить, надо запустить скрипт" :)
однако ни ./card5 --cmd=close --skey=75f65d4ee629f5d4dcddc42936157dd1
ни ./card5 cmd=close skey=a6f15d4e75e5788b29b659b2de0176e7
ни ./card5 cmd=close&skey=a6f15d4e75e5788b29b659b2de0176e7
к желаемому результату не приводят.
Ответы:
запустить как обычный консольный скрипт, и параметры передавать соответственно
Параметры в CGI передаются через переменные среды. В Linux можно установить переменные через env, пример `env QUERY_STRING=param1=1&param2=2 REQUEST_METHOD=GET ./cgiapp`. Однако переменных передающихся по умолчанию от Web-сервера не мало и cgi-скрипт может ожидать некоторые из них, список:
DOCUMENT_ROOT=z:/home/example.ru/www
HTTP_ACCEPT=text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
HTTP_ACCEPT_ENCODING=gzip, deflate
HTTP_ACCEPT_LANGUAGE=ru-RU,en;q=0.9,ru;q=0.8
HTTP_CACHE_CONTROL=no-cache
HTTP_CONNECTION=Keep-Alive
HTTP_HOST=www.example.ru
HTTP_USER_AGENT=Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.9.168 Version/11.50
REMOTE_ADDR=127.0.0.1
REMOTE_PORT=51291
SCRIPT_FILENAME=/home/example.ru/cgi-bin/test2/test2.exe
SERVER_ADDR=127.0.0.1
[email protected]
SERVER_NAME=www.example.ru
SERVER_PORT=80
SERVER_SIGNATURE=<ADDRESS>Apache/1.3.31 Server at <A HREF="mailto:webmaster@localhost">www.example.ru</A> Port 80</ADDRESS>


13 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.