Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

передача параметров в cgi скрипт

2.6K
06 июля 2005 года
NinthBit
43 / / 31.01.2005
Есть cgi приложение в скомпилированном виде. Параметры ему передаются методом post.

Требуется без использования броузера (из своего приложения или просто из коммандной строки) запускать это cgi приложение, передавая ему требуемые параметры (их имена известны), а потом ловить его вывод.
253
06 июля 2005 года
Proger_XP
1.5K / / 07.08.2004
Цитата:
Originally posted by NinthBit
Есть cgi приложение в скомпилированном виде. Параметры ему передаются методом post.

Требуется без использования броузера (из своего приложения или просто из коммандной строки) запускать это cgi приложение, передавая ему требуемые параметры (их имена известны), а потом ловить его вывод.


Через API можно юзать Pipe
Через PHP(и через Perl тоже) открываешь CGI на чтение, т.е читаешь его вывод

2.6K
06 июля 2005 года
NinthBit
43 / / 31.01.2005
Цитата:
Originally posted by Proger_XP
Через API можно юзать Pipe
Через PHP(и через Perl тоже) открываешь CGI на чтение, т.е читаешь его вывод


То что трубку открывать можно - это понятно. Вопрос в том, что туда писать ...
Свое приложение пишется на С под Линукс

253
09 июля 2005 года
Proger_XP
1.5K / / 07.08.2004
Цитата:
Originally posted by NinthBit
То что трубку открывать можно - это понятно. Вопрос в том, что туда писать ...
Свое приложение пишется на С под Линукс


Зачем туда что-то писать?
Попробуй открыть файл сразу с query:
CreatePipe("file.cgi?p1=1");

2.6K
10 июля 2005 года
NinthBit
43 / / 31.01.2005
Цитата:
Originally posted by Proger_XP
Зачем туда что-то писать?
Попробуй открыть файл сразу с query:
CreatePipe("file.cgi?p1=1");


POST

338
11 июля 2005 года
chigevara
529 / / 29.09.2003
Цитата:
Originally posted by NinthBit
POST


Это ***дец, извиняюсь за выражение.
POST - это то, что цыгыя получает на stdin.
В чем вопрос - как подавать на stdin или в каком формате?

2.6K
11 июля 2005 года
NinthBit
43 / / 31.01.2005
Цитата:
Originally posted by chigevara
POST - это то, что цыгыя получает на stdin.
В чем вопрос - как подавать на stdin или в каком формате?


Действительно, я не совсем четко сформулировал изначально проблему.
Понятно, что на стандартный ввод это идет к cgi программе, вопрос и есть в формате.
В предыдущем посте указывалось в формате метода GET. То что пишется cgi на вход в таком виде - достаточно очевидно - это можно прочитать в строке адреса броузера. А вот в каком виде передаются данные методом POST - непонятно.

338
11 июля 2005 года
chigevara
529 / / 29.09.2003
Цитата:
Originally posted by NinthBit
А вот в каком виде передаются данные методом POST - непонятно.


Пиши цыгыю, которая выводит в броузер содержимое stdin. Ваяй html с нужными формами и передавай через него параметры на скрипт - вся любовь. В свое время я именно так и делал. Где блин дух экспериментаторства? :D

253
15 июля 2005 года
Proger_XP
1.5K / / 07.08.2004
Цитата:
Originally posted by NinthBit
Действительно, я не совсем четко сформулировал изначально проблему.
Понятно, что на стандартный ввод это идет к cgi программе, вопрос и есть в формате.
В предыдущем посте указывалось в формате метода GET. То что пишется cgi на вход в таком виде - достаточно очевидно - это можно прочитать в строке адреса броузера. А вот в каком виде передаются данные методом POST - непонятно


Тогда открывай сокет и пиши в него
POST addr.com/s.php?a=1
Смотри w3c.org про формат заголовков т.к я не помню что там надо послать в начале

338
16 июля 2005 года
chigevara
529 / / 29.09.2003
Цитата:
Originally posted by Proger_XP
Тогда открывай сокет и пиши в него
POST addr.com/s.php?a=1


Обман с особым цинизмом.
Создается форма(html) в которой забиваются все необходимые параметры , в качестве экшена - адрес цыгыи, которая читает со стандартного ина и выводит в стандартный оут, то есть в браузер. Где собственно и можно наблюдать в каком виде данные передаются постом. Сокеты тут ни при делах. Вот.

253
16 июля 2005 года
Proger_XP
1.5K / / 07.08.2004
Цитата:
Originally posted by chigevara
Обман с особым цинизмом.
Создается форма(html) в которой забиваются все необходимые параметры , в качестве экшена - адрес цыгыи, которая читает со стандартного ина и выводит в стандартный оут, то есть в браузер. Где собственно и можно наблюдать в каком виде данные передаются постом. Сокеты тут ни при делах


А как тогда браузеры общаются? Через формы? ))
Твой метод - это "обман с особым цинизмом", т.к я просто обхожу создание формы и сразу посылаю запрос серверу

287
16 июля 2005 года
Shiizoo
958 / / 14.03.2004
Ё-маё, кроме www-urlencoded есть еще масса различных способов передачи параметров=) зациклились на своем path?paramzzz.. ;)

http://www.w3.org/TR/html4/interact/forms.html#form-data-set

Там же есть линки на mime типы и т.п. и т.д., что так же пригодится в этом вопросе.
287
16 июля 2005 года
Shiizoo
958 / / 14.03.2004
И сюда надо.. глянуть;) http://hoohoo.ncsa.uiuc.edu/cgi/overview.html. Если сервак, под которым будет юзаться это самое приложение, соответветствует этим требованиям, то выковыривать данные будешь с пер. окружения и (если post метод) стд. вх. птк. :D
287
16 июля 2005 года
Shiizoo
958 / / 14.03.2004
Post еще xml'ем передается, но я как-то в это не углублялся, потому как не уверен что в этом плане можно расчитывать на все востребованные браузеры.
253
18 июля 2005 года
Proger_XP
1.5K / / 07.08.2004
Разошелся.... ))
Просто через Headers передавать в данном случае данные легче(ИМНО)
Как ты например через XML без браузера передашь параметры в CGI? ))
Кстати вот полный заголовок(так вроде):
Header("POST /CGIS.cgi HTTP 1.1")
Header("User-agent: Mozilla 4.1");
и т.д
287
18 июля 2005 года
Shiizoo
958 / / 14.03.2004
ну под nix'ами хоть бы что передавай скрипту на stdin. а в винде я и знать не знаю как комбайны юзать=)
4
18 июля 2005 года
mike
3.7K / / 01.10.2002
ну флуд развели

POST может быть в разном формате. Формат задается с помощью аттрибута enctype тега FORM.

Есть два основных энктайпа. Обычный - по умолчанию. Не помню как называется.

А есть multipart/form-data. Его разбирать сложнее. С его помощью закачиваются файлы. Вместо того чтобы рыть тонны на w3c можно просто запустить сниффер.

Что касается первого энктайпа (который по умолчнию) то он ничем не отличается от GET, просто подается на stdin

пример:

 
Код:
POST /test.pl HTTP/1.0
Host: codenet.ru
Connection: close

s=56&v=54&d=%C0%C0%C0%C0%C0%C0
8.9K
18 июля 2005 года
Makswell
22 / / 04.02.2005
http://progers.ru/retro/internetcrack.php

В текстовое поле впиши:
POST адрес_сги-скрипта HTTP/1.0

данные для передачи (переменная=значение&etc)

Адрес скрипта полностью (http:// префикс и имя сервера) указывай

В поле Имя сервера укажи имя хоста без www и http://

p.s. можешь хелп в скрипте почитать (правда он старый и будет только в осле пахать.. ваще яваскрипт только в осле попашет.. писал давно, переделывать в лом)

http://progers.ru/files/cat5/subcat59/ - скрипт можешь скачать тут...
338
18 июля 2005 года
chigevara
529 / / 29.09.2003
Я х**ю, уважаемая редакция. Неужели трудно сделать то что я сказал и посмотреть перед тем как парафинить необоснованно.
Твой метод - это "обман с особым цинизмом", т.к я просто обхожу создание формы и сразу посылаю запрос серверу
Ты вопрос читал вообще? Человеку надо узнать формат - я ему объясняю как.
Причем здесь сервер? есть скрипт и есть прилада, которая выставляет окружение и запускает цыгыю, то есть сама выступает в роли сервера. Соответственно никаких сокетов и прочей дряни - оно здесь просто не надо.
Видимо на форуме народ уже не курит - отрава по ходу более крепкая гуляет.
287
18 июля 2005 года
Shiizoo
958 / / 14.03.2004
Вот потому и говорю... w3c, rfc-editor, etc.;) А-то запедрют мозги каждый своей правдой:o А сниффером заколебешься вычислять по какому принципу такое-то содержимое приводится к конечному виду;) И еще не стоит забывать о том, что браузеры не без греха, не скажу за последние версии, но где-то уже упускались '--' (дефисы) в multipart/mixed или около того и т.п. и т.д. То бишь, баг траку смотрим, где есть.
300
18 июля 2005 года
ReDrum
689 / / 20.04.2000
Цитата:
Originally posted by chigevara

Видимо на форуме народ уже не курит - отрава по ходу более крепкая гуляет.


Согласен )))

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог