![]() |
"Ручное" формирование POST запроса в браузере
Привет, человеки! Может кто знает, как можно в "ручном" режиме формировать POST запрос в браузере?
Что имеется в виду? Для примера, ниже приведен запрос, который можно "впечатать" в окне терминала, подключившись telnet'ом к HTTP порту прокси-сервера: Код:
post http://www.whois-service.ru/lookup/ HTTP/1.0 1. URL формы, куда передается запрос; 2. Сами передаваемые данные (объем их может подсчитываться автоматом). Так же желательно возможность выбора кодировки (комбинация Content-Encoding, Content-Language и Content-Transfer-Encoding). Может кто какой плугин встречал? |
Может тебе проще HTML-страничку для этой задачи написать? Открыл файлик - заполнил поля - отправил.
|
CyberDaemon
Хм... Зачем мне ее в этом случае писать? В таком случае я могу сохранять нужные мне уже готовые формы... Но мне нужно универсальное средство. Твой вариант не позволяет произвольно решать п.1 поставленной задачи... |
Greyman
Решение конкретной задачи уже сделал. Вот по более "абстракным" данным пока не знаю... |
Проблема только в том, что надо знать всё про элементы формы. В общем случае - имя. Т.е. при создании запроса domain=xxx пользователь должне ввести в поле "оправить что" именно "domain=xxx". А если элементов формы несколько, то как их помнить? В общем, всё сводится к тому, что в готовом решении должно заполнятся перед отправкой либо поле формы без имени (а такое вряд ли возможно), либо каждое поле отдельно - но как их узнать? Парсить вводимые пользователем комбинации А=В; С=D; E=F - теоретически сработает. Но для меня написать парсер на js - Сложно. Не люблю я JS :[ Хотя............... счас-счас-счас........
|
Нет, "хак" не вышел никакой, потому что при формировании POST запроса используется "Content-Disposition: form-data". идея была в том, чтобы через textarea передать сам запрос. Но textarea превращается в form-data и кирдык. Жаль.
Остаётся только вариант с парсером... Но у меня на это вот уж точно нет времени :[ |
Greyman
Ты ведь Оперой пользуешься? Думаю, следующие две статьи тебе помогут: http://nontroppo.org/wiki/FindingPOSTQueries http://www.schrode.net/opera/search/search_ini.html Если не разберешься сам, поможем, однако я не обещаю зацикливаться на данном конкретном whoiz сервисе. |
Vadikan
Хм... Предлагаешь использовать оперовский поисковый движек для ручного формирования POST-запросов? Ну можно конечно, только извратно слегка. Ведь этим способом можно вводить только зачение одного из полей формы, а все остальные значения форм и из имена прописывать в search.ini для каждой формы... Очень неудобно каждый раз исправлять конфигурационный файл под разные формы и данные...:( Есть конечно вариант - вводить в поисковой строке сразу строку с запросом, а в конфиге просто прописать "query=%s"... Можно конечно, но все же хотелось бы иметь возможность и URL вводить. Бывает так, что формы одинаковые, но URL'ы у них разные и каждый раз лезть в конфиг... - ну очень не удобно. Примером могут быть софт-порталы, мызыкальные и книжные каталоги и т. п., где формы одинаковые, а вот их урлы отличаются идентификаторами объекта, для которого вноситься информация (конкретное ПО, музыкальный файл, книга, фильм и т. д.)... Пока пригодиться и это. За что, конечно, спасибо. Однако останавливаться еще рано... Бум думать дальше... П.С. На работе я чаще пользуюсь MyIE2Rus (на основе MS IE). Опера и Firefox правда тоже присутствуют... П.П.С. Не совсем понял, что ты имел в виду в конце поста - "я не обещаю зацикливаться на данном конкретном whoiz сервисе." Это о чем? |
Greyman
Я думал тебя только несколько сервисов интерсует, а ты оказывается глобально задумался ;) ИМХО, к каждому post запросу придется подходить индивидуально. Цитата:
|
Greyman
Я действительно займусь этим вопросом, но попозже, наверное. Пока вот для инфы, может, тебе пригодиться: Букмарклет "эхоформа": HTML код:
javascript:void(d=document);void(df='http://sam-i-am.com/cgi-bin/echoform.cgi');void(c=(d.all)?d.all.tags('form'):d.getElementsByTagName('form'));with(c){for(i=0;i<length;i++) item(i).setAttribute('action',df);}} |
Чего-то не то. Счас ещё раз:
HTML код:
javascript:void(d=document);void(df='http://sam-i-am.com/cgi-bin/echoform.cgi');void(c=(d.all)?d.all.tags('form'):d.getElementsByTagName('form'));with(c){for(i=0;i<length;i++) item(i).setAttribute('action',df);} |
А, ясно, скобка.
В общем, заполняешь форму, кликаешь "эхоформу", кликаешь отправить. Получаешь в виде таблицы, что только что отправил. С принципом действия сам разберёшся :] |
Vadikan
Цитата:
Цитата:
Цитата:
http://soft.oszone.net/edit.php?pid=494 - Здесь сайт один - <soft.oszone.net>, а вот урлы форм разные и зависят от "PID" конкретного ПО. Аналогично у других подобных сайтов. Для каждого объекта конфиг корректировать просто нереально. Вот я и хотел способ, при котором можно и параметры POST-запроса кидать и сам урл вводить. Первую задачу твой вариант с поисковым движком из Оперы вполне решает (с моим примером формирования запроса), но вот вторую - увы нет...:( hasherfrog Сипасибо конечно. Тока я пока обхожусь логгерами HTTP-трафика (примеры - "Fiddler", "HTTPSpy", "TheProxomitron"...). Предложенный тобой способ все же несколько более громоздкий... |
Greyman
А вот представь, что у тебя под рукой кроме браувера вообще ничегошеньки нет :] Что тогда? ;] Но мы ещё к этому вернёмся... ;] |
Цитата:
|
Время: 04:51. |
Время: 04:51.
© OSzone.net 2001-