Post запрос онлайн

Post запрос онлайн

Форум: "Сети";
Поиск по всему сайту: www.delphimaster.net;
Текущий архив: 2006.04.02;

Вниз

Открыть браузер и выполнить POST-запрос 

SergP ©   (2005-12-19 21:36)

Необходимо открыть экземпляр браузера и выполнить при этом POST-запрос.

С GET-запросом все понятно? делаю так:

ShellExecute(Handle, "open", "http://www.bla-bla-bla.net?sid=666666" , nil, nil, SW_SHOWNORMAL);

Но теперь нужно sid=666666 передавать не в GET-запросе, а в POST.
Можно ли такое сделать?
Если нельзя сделать для браузера по умолчанию, то как тогда сделать для Internet Explorer"а?

palva ©   (2005-12-19 21:47)

Написать страницу с формой, в которой указать METHOD=POST, загрузить ее в браузер, расположенный на форме, заполнить поля и программно нажать кнопку SUBMIT

SergP ©   (2005-12-19 22:07)


> palva ©   (19.12.05 21:47)
> Написать страницу с формой, в которой указать METHOD=POST,
>  загрузить ее в браузер, расположенный на форме, заполнить
> поля и программно нажать кнопку SUBMIT

Это как? TWebbrowser юзать?
Если бы мне нужно было расположить браузер на форме (т.е. TWebbrowser), то с POST-запросом проблем бы не было. По крайней мере POST-запросы там можно делать с помощью Navigate, не извращаясь c html

Но мне нужно открыть окно браузера (IE, или т.п.)  и выполнить POST-запрос.

В крайнем случае подойдет и вариант использования IE, как COM-объекта. Но я не знаю какие у него есть методы для возможности сделать сабж.

Morgoth_   (2005-12-20 09:40)

Протокол HTTP метод POST.
Вообще непонятно зачем нужно открыть просто окно браузера и выполнить POST. Если надо отправить данные, можно и без браузера обойтись.

Puk   (2005-12-20 09:47)

2 Morgoth_
Вообще непонятно зачем нужно открыть просто окно браузера и выполнить POST. Если надо отправить данные, можно и без браузера обойтись.

Трояном пахнет с функцией отсылки данных по HTTP (возможностью обхода файрвола).

SergP.   (2005-12-20 10:43)


> Трояном пахнет с функцией отсылки данных по HTTP (возможностью
> обхода файрвола).

Блин… Вы уже меня собрались причислить к троянописателям…

Нужно чтобы по клику по label на форме в моей программе, открылось окно браузера и в него загрузилась страничка регистрации юзера в некотором проекте. Но GET-данные я хочу скрыть. Т.е. передавать их в POST-запросе.

Можно ли отправлять POST запрос из браузера без создания формы?

Думаю что уже все поняли что это за данные и что они к троянам не имеют ни малейшего отношения.

Morgoth_   (2005-12-20 10:44)

Тогда всё ясно, а я то голову ломал.

Morgoth_   (2005-12-20 10:55)

Зачем передавать секретные данные в пустой форме регистрации?
Не проще сделать ввод ключа активации и в ответ выдать ключ регистрации?

umbra ©   (2005-12-20 11:18)

а не проще ли использовать невизуальный TIdHTTP? а ответ сервера уже загружать в браузер?

SergP.   (2005-12-20 11:23)

Это не секретные данные.
Вобщем ссылка:

https://www.e-gold.com/newacct/newaccount.asp?cid=2420186

Но много есть людей, которые почему-то не любят регистрироваться по таким ссылкам. Ну менталитет у них такой. И они подтирают все что после "?"
Поэтому и хочу засунуть в POST, чтобы ссылка выглядела как
https://www.e-gold.com/newacct/newaccount.asp

Вобщем в крайнем случае меня устроит и вариант с использованием эксплорера как COM-объекта, типа:


var
 ie:variant;
begin
 ie:=CreateOleObject("InternetExplorer.application");
 // А здесь нужно сделать POST-запрос. Но как?
 ie.visible:=true;
end;

SergP.   (2005-12-20 11:24)


> umbra ©   (20.12.05 11:18)
> а не проще ли использовать невизуальный TIdHTTP? а ответ
> сервера уже загружать в браузер?

Неудобно. Типа кликнул по лабелу, а потом ждать нужно чтобы все загрузилось, после чего уже откроется эксплорер… Народ не поймет… 🙂

SergP.   (2005-12-20 13:00)

Если с COM-объектом ИЕ работать также как и с TWebbrowser"ом, то вроде бы понял как сделать.

Форум: "Сети";
Поиск по всему сайту: www.delphimaster.net;
Текущий архив: 2006.04.02;

Наверх

Память: 0.74 MB
Время: 0.079 c

Как отправить POST запрос из браузера?

Проблема в том, что если Chrome не имеет локального обработчика протокола, он хочет использовать обработчик, настроенный в пользовательской среде. Никакие две ОС не предоставляют точно такой же API для запуска обработчика по умолчанию. Выяснив, что будет делать эта программа до ее запуска, это даже не ясный API для Windows или Linux.

Оба варианта «Mac» и Windows в конечном итоге знают, какое внешнее приложение в конечном счете несет ответственность за протокол и, следовательно, могут подавлять необработанные вызовы, не вызывая предупреждения о вызове. Но реализация windows на самом деле — это kludge, который опирается на наблюдения за реестром Windows на существующие версии на окнах. Этот тип нарушения API более опасен для Linux, где многие вкусы имеют очень разные вилки связанных инструментов настройки.

Фактически considered a bug что Windows и OsX не выдают альтернативного предупреждения о том, что они ничего не вызвали, поэтому вы можете прокомментировать здесь, если считаете, что это правильное поведение.

Вот мое наблюдение о том, как работают 3 системы на основе источника тока:

Linux

В Linux, при регистрации обработчиков протоколов с системой (окно), вы делаете что-то вроде:

Теперь эволюция приложение отвечает за протокол и все, что можно назвать:

На данный момент открыта эволюция на этих ссылках. Другие операционные системы имеют аналогичные механизмы, но не могут иметь внешнюю программу в качестве заглушки вызова.

Это хорошо и абстрактно, и knowing/saying the external app you are calling is xdg-open предотвращает много осложнений в реализации Linux. Но это не совсем информация, которую пользователь, возможно, хочет. Получение этой информации потребует вместо этого использования и может быть неправильным, если есть или когда-либо будет возможность условно переопределить обработчик по умолчанию в некоторых вариантах этой системы.

Окна

В обработчике Windows, по-видимому, вы можете просто пойти snooping around in the registry, а затем сделать обоснованное предположение относительно того, что называя апи будет на самом деле. Технически хром должен делать это, так как способ открытия внешних программ осуществляется через системный API, поэтому в предупреждении нет внешнего заглушки, такого как .

Mac

В «макинтош» обработчиком, существует собственный API, чтобы задать вопрос о приложении ваш конкретный URL будет запущен, так что хром does, то if the application name the empty string он может полностью отказаться от вызова перед созданием предупреждения.

Форум: "Сети";
Поиск по всему сайту: www.delphimaster.net;
Текущий архив: 2006.04.02;

Вниз

Открыть браузер и выполнить POST-запрос 

SergP ©   (2005-12-19 21:36)

Необходимо открыть экземпляр браузера и выполнить при этом POST-запрос.

С GET-запросом все понятно? делаю так:

ShellExecute(Handle, "open", "http://www.bla-bla-bla.net?sid=666666" , nil, nil, SW_SHOWNORMAL);

Но теперь нужно sid=666666 передавать не в GET-запросе, а в POST.

Отправка post-запроса без обновления страницы

Можно ли такое сделать?
Если нельзя сделать для браузера по умолчанию, то как тогда сделать для Internet Explorer"а?

palva ©   (2005-12-19 21:47)

Написать страницу с формой, в которой указать METHOD=POST, загрузить ее в браузер, расположенный на форме, заполнить поля и программно нажать кнопку SUBMIT

SergP ©   (2005-12-19 22:07)


> palva ©   (19.12.05 21:47)
> Написать страницу с формой, в которой указать METHOD=POST,
>  загрузить ее в браузер, расположенный на форме, заполнить
> поля и программно нажать кнопку SUBMIT

Это как? TWebbrowser юзать?
Если бы мне нужно было расположить браузер на форме (т.е. TWebbrowser), то с POST-запросом проблем бы не было. По крайней мере POST-запросы там можно делать с помощью Navigate, не извращаясь c html

Но мне нужно открыть окно браузера (IE, или т.п.)  и выполнить POST-запрос.

В крайнем случае подойдет и вариант использования IE, как COM-объекта. Но я не знаю какие у него есть методы для возможности сделать сабж.

Morgoth_   (2005-12-20 09:40)

Протокол HTTP метод POST.
Вообще непонятно зачем нужно открыть просто окно браузера и выполнить POST. Если надо отправить данные, можно и без браузера обойтись.

Puk   (2005-12-20 09:47)

2 Morgoth_
Вообще непонятно зачем нужно открыть просто окно браузера и выполнить POST. Если надо отправить данные, можно и без браузера обойтись.

Трояном пахнет с функцией отсылки данных по HTTP (возможностью обхода файрвола).

SergP.   (2005-12-20 10:43)


> Трояном пахнет с функцией отсылки данных по HTTP (возможностью
> обхода файрвола).

Блин… Вы уже меня собрались причислить к троянописателям…

Нужно чтобы по клику по label на форме в моей программе, открылось окно браузера и в него загрузилась страничка регистрации юзера в некотором проекте. Но GET-данные я хочу скрыть. Т.е. передавать их в POST-запросе.

Думаю что уже все поняли что это за данные и что они к троянам не имеют ни малейшего отношения.

Morgoth_   (2005-12-20 10:44)

Тогда всё ясно, а я то голову ломал.

Morgoth_   (2005-12-20 10:55)

Зачем передавать секретные данные в пустой форме регистрации?
Не проще сделать ввод ключа активации и в ответ выдать ключ регистрации?

umbra ©   (2005-12-20 11:18)

а не проще ли использовать невизуальный TIdHTTP? а ответ сервера уже загружать в браузер?

SergP.   (2005-12-20 11:23)

Это не секретные данные.
Вобщем ссылка:

https://www.e-gold.com/newacct/newaccount.asp?cid=2420186

Но много есть людей, которые почему-то не любят регистрироваться по таким ссылкам. Ну менталитет у них такой. И они подтирают все что после "?"
Поэтому и хочу засунуть в POST, чтобы ссылка выглядела как
https://www.e-gold.com/newacct/newaccount.asp

Вобщем в крайнем случае меня устроит и вариант с использованием эксплорера как COM-объекта, типа:


var
 ie:variant;
begin
 ie:=CreateOleObject("InternetExplorer.application");
 // А здесь нужно сделать POST-запрос. Но как?
 ie.visible:=true;
end;

SergP.   (2005-12-20 11:24)


> umbra ©   (20.12.05 11:18)
> а не проще ли использовать невизуальный TIdHTTP? а ответ
> сервера уже загружать в браузер?

Неудобно. Типа кликнул по лабелу, а потом ждать нужно чтобы все загрузилось, после чего уже откроется эксплорер… Народ не поймет… 🙂

SergP.   (2005-12-20 13:00)

Если с COM-объектом ИЕ работать также как и с TWebbrowser"ом, то вроде бы понял как сделать.

Форум: "Сети";
Поиск по всему сайту: www.delphimaster.net;
Текущий архив: 2006.04.02;

Наверх

Память: 0.74 MB
Время: 0.079 c

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии

 Страниц (1):    

 Описание: Секреты модераторов
Поиск в теме | Версия для печати
Секрет Теперь, когда вы уже наверняка второпях отправили свой запрос, я расскажу вам простой секрет, который сэкономит вам уйму ожиданий, даже если первый ответ по теме последуем сразу же.

Имитация броузера, "бомбежка" форм.

Само собой я знаю что ответят мне тут же, и если я посмотрю на сообщения на форуме, то пойму что в общем то я и не ошибаюсь. Но еще я точно замечу, что очень мало тем, в которых всего два ответа : вопрос автора и еще два сообщение вида Ответ + Спасибо После этого приходится начинать уточнять этим неграмотным что мне надо. Они что, сами читать не умеют? А уточнять приходится. И иногда пока они переварят то что я им скажу проходит и не одна ночь.. Уверен что если бы я им сказал что у меня есть фиолетовый квадрат, и нужно превратить его в синий треугольник и я пытался взять кисточку, макнуть в банку и поводить ей по квадрату но почему то кисточка не принимала цвет краски в банке, то на мой вопрос — где взять правильные банки мне бы ответили гораздо быстрее предложив её открыть, а не тратить еще стольник на жестянку. Поэтому с тех пор я строю свои вопросы по проверенной давным давно схеме: Что есть Что нужно получить Как я пытался Почему или что у меня не получилось. На последок как оно происходит на форумах Новичок: Подскажите пожалуста самый крепкий сорт дерева! Весь инет перерыл, поиском пользовался! Старожил: Объясни, зачем тебе понадобилось дерево? Сейчас оно в строительстве практически не используется. Новичок: Я небоскрёб собираюсь строить. Хочу узнать, из какого дерева делать перекрытия между этажами! Старожил: Какое дерево? Ты вообще соображаешь, что говоришь? Новичок: Чем мне нравиться этот форум — из двух ответов ниодного конкретного. Одни вопросы неподелу! Старожил: Не нравится — тебя здесь никто не держит. Но если ты не соображаешь, что из дерева небоскрёбы не строят, то лучше бы тебе сначала школу закончить. Новичок: Не знаите — лучше молчите! У меня дедушка в деревянном доме живёт! У НЕГО НИЧЕГО НЕ ЛОМАЕТСЯ!!! Но у него дом из сосны, а я понимаю, что для небоскрёба нужно дерево прочнее! Поэтому и спрашиваю!!! А от вас нормального ответа недождёшся!!! Прохожий: Самое крепкое дерево — дуб. Вот тебе технология вымачивания дуба в солёной воде, она придаёт дубу особую прочность: Новичок: Спасибо, братан! То что нужно!!! http://phpfaq.ru/humor

Поиск в теме | Версия для печати Страниц (1): Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0) « Программирование на PHP »
Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 

admin