Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
| | | | |
[JAVA] HTTP POST 23.11.01 10:44 Число просмотров: 1278
Автор: paganoid Статус: Member Отредактировано 23.11.01 10:46 Количество правок: 1
|
> > > Способо отослать данные методом GET я знаю, но > > > нужен именно POST! > > > > тебе нужна спецификация HTTP запроса методом POST ? От > GET > > Точнее мне надо узнать как это осуществить из Java не > формируя саму HTML страницу и не создавая фиктивный клик по > кнопке Submit в ней. > > > он не шибко отличается... Если проблема в этом, то > могу > > рассказать, как яго делать.. > > Будь добр, а то я уже замучался. Ума не приложу куда > вставлять передаваемые параметры.
открываешь сокет (не помню как это в жабе делается), видимо именно твой stream, коннектишься к 80 порту нужного сервака. И пишешь туда
POST www.someserver.com HTTP/1.0
User-Agent: Internet Exhlorer Bla Bla
Referer: http://linkedPageURL
Host: www.someserver.com
Content-Type: application/x-www-form-urlencoded
Content-Length: ТУТРАЗМЕРВБАЙТАХОТСЫЛАЕМОГОТЕКСТА
cgiVar1=VAL1&cgiVar2=VAL2
---
вотщем cgiVar1=VAL1&cgiVar2=VAL2 - это пары cgi-переменная скрипта (поле формы HTML)-значение, разделенные &, причем VAL1 должно быть закодировано urlencode .
ТУТРАЗМЕРВБАЙТАХОТСЫЛАЕМОГОТЕКСТА - это размер строки-тела "cgiVar1=VAL1&cgiVar2=VAL2"
заголовок отделяется от тела двумя \r\n
сразу после того, как насовал это в сокет, читаешь из него, что вернут (если надо).
ежели что, вот те урла еще:
примеры работы для работы с HTTP на PHP .
|
<programming>
|
[JAVA] Как из апплета передать в чужую форму данные методом POST? 16.11.01 14:40
Автор: DimkaInc Статус: Незарегистрированный пользователь
|
Есть страница, скажем: http://www.mysite.com/mypage.htm
В ней есть форма с несколькими скрытыми полями, каждый раз другими и парой полей, которые надо заполнить и отправить.
Переадресация на страницу mypage2.htm.
поля простые:
hidden1=xxx
hidden2=yyy
EnterName=name
Enterletter=letter
Как возможно автоматизировать процесс, т.е. загрузить страницу из апплета, заполнить нужные поля и отправить запрос методом POST? Так как GET не проходит.
|
|
[JAVA] эээ... 16.11.01 15:56
Автор: paganoid Статус: Member
|
> Как возможно автоматизировать процесс, т.е. загрузить > страницу из апплета,
я могу ошибаться, но если у тебя загружаемая страница расположена НЕ на том сервере, где находится апплет, то апплет не может ни получить с нее данные, ни послать их туда из-за соображений безопасности.
|
| |
[JAVA] Ошибаетесь! 16.11.01 18:11
Автор: DimkaInc Статус: Незарегистрированный пользователь
|
> я могу ошибаться, но если у тебя загружаемая страница > расположена НЕ на том сервере, где находится апплет, то > апплет не может ни получить с нее данные, ни послать их > туда из-за соображений безопасности.
У JAVA есть такоие классы URL и OpenStream - с помошью которых можно получить любую информацию с любого адреса, акже можно и послать любую информацию на любой адрес в виде запроса. Другой вопрос, что загрузить - это одно, а исполнить или модифицировать исходные данные - совсем другое! Способо отослать данные методом GET я знаю, но нужен именно POST!
|
| | |
[JAVA] докажи ;) 22.11.01 11:02
Автор: paganoid Статус: Member
|
> > У JAVA есть такоие классы URL и OpenStream - с помошью > которых можно получить любую информацию с любого адреса,
хм, ессна я знаю про эти классы. Они работают в полноценной виртуальной машине Java . А в той, которая используется в АППЛЕТАХ накаляканых на Java, запрос ведет к Security Exception . А ты задавал вопрос именно про АППЛЕТ . Можно поморочиться с цифровой подписью апплетов, тады глядишь браузер и разрешит что-нить загружать.. Но насколько я понимаю, тебе получить сертификат микрософт не светит , как и всем нам ;)
> акже можно и послать любую информацию на любой адрес в виде > запроса. Другой вопрос, что загрузить - это одно, а > исполнить или модифицировать исходные данные - совсем > другое!
если я "загружу" урл вида www.someserver.com/forum.php?var1=val1&var2=val2 ,
то естественно я ПОШЛЮ переменные var1=val1 и var2=val2 ,
т.е. модифицирую все что мне надо. Т.ч. тут бабушка надвое сказала и "загрузить" полностью эквивалентно "модифицировать"
> Способо отослать данные методом GET я знаю, но > нужен именно POST!
тебе нужна спецификация HTTP запроса методом POST ? От GET он не шибко отличается... Если проблема в этом, то могу рассказать, как яго делать..
|
| | | |
[JAVA] объяснение 23.11.01 08:22
Автор: DimkaInc Статус: Незарегистрированный пользователь
|
> хм, ессна я знаю про эти классы. Они работают в полноценной > виртуальной машине Java . А в той, которая используется в > АППЛЕТАХ накаляканых на Java, запрос ведет к Security
Мне ни что не запрещает запускать классы из консоли.
> Exception . А ты задавал вопрос именно про АППЛЕТ . Можно > поморочиться с цифровой подписью апплетов, тады глядишь > браузер и разрешит что-нить загружать.. Но насколько я > понимаю, тебе получить сертификат микрософт не светит , как > и всем нам ;)
Он и не нужен :оР
> > > акже можно и послать любую информацию на любой адрес в > виде > > запроса. Другой вопрос, что загрузить - это одно, а > > исполнить или модифицировать исходные данные - совсем > > другое! > > если я "загружу" урл вида > www.someserver.com/forum.php?var1=val1&var2=val2 , > то естественно я ПОШЛЮ переменные var1=val1 и var2=val2 , > т.е. модифицирую все что мне надо. Т.ч. тут бабушка надвое > сказала и "загрузить" полностью эквивалентно > "модифицировать"
Модифицировать не исходные данные а запрос - вот о чем ты и толкуешь. И именно мне это и надо.
> > > Способо отослать данные методом GET я знаю, но > > нужен именно POST! > > тебе нужна спецификация HTTP запроса методом POST ? От GET
Точнее мне надо узнать как это осуществить из Java не формируя саму HTML страницу и не создавая фиктивный клик по кнопке Submit в ней.
> он не шибко отличается... Если проблема в этом, то могу > рассказать, как яго делать..
Будь добр, а то я уже замучался. Ума не приложу куда вставлять передаваемые параметры.
|
| | | | |
[JAVA] HTTP POST 23.11.01 10:44
Автор: paganoid Статус: Member Отредактировано 23.11.01 10:46 Количество правок: 1
|
> > > Способо отослать данные методом GET я знаю, но > > > нужен именно POST! > > > > тебе нужна спецификация HTTP запроса методом POST ? От > GET > > Точнее мне надо узнать как это осуществить из Java не > формируя саму HTML страницу и не создавая фиктивный клик по > кнопке Submit в ней. > > > он не шибко отличается... Если проблема в этом, то > могу > > рассказать, как яго делать.. > > Будь добр, а то я уже замучался. Ума не приложу куда > вставлять передаваемые параметры.
открываешь сокет (не помню как это в жабе делается), видимо именно твой stream, коннектишься к 80 порту нужного сервака. И пишешь туда
POST www.someserver.com HTTP/1.0
User-Agent: Internet Exhlorer Bla Bla
Referer: http://linkedPageURL
Host: www.someserver.com
Content-Type: application/x-www-form-urlencoded
Content-Length: ТУТРАЗМЕРВБАЙТАХОТСЫЛАЕМОГОТЕКСТА
cgiVar1=VAL1&cgiVar2=VAL2
---
вотщем cgiVar1=VAL1&cgiVar2=VAL2 - это пары cgi-переменная скрипта (поле формы HTML)-значение, разделенные &, причем VAL1 должно быть закодировано urlencode .
ТУТРАЗМЕРВБАЙТАХОТСЫЛАЕМОГОТЕКСТА - это размер строки-тела "cgiVar1=VAL1&cgiVar2=VAL2"
заголовок отделяется от тела двумя \r\n
сразу после того, как насовал это в сокет, читаешь из него, что вернут (если надо).
ежели что, вот те урла еще:
примеры работы для работы с HTTP на PHP .
|
| | | |
Я сделал. 22.11.01 23:27
Автор: croaker Статус: Незарегистрированный пользователь
|
Короче. Я всё сообщение не читал, но примерно понял, чё те надо. Так вот япотиху делаю свой сайт и в это воскресенье вечером выложу текст проги которая делает вот чё: Смотрит юрыляку не загружая её саму а напрямую обращаясь к серваку, + ещё пару полезностей. адрес сайта -
http://www.big-phil.com раздел programms там будет ссылка на java файл.
|
|
|