информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Все любят медГде водятся OGRы
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Tailscale окончательно забанила... 
 Прекращение работы антивируса Касперского... 
 Microsoft Authenticator теряет... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[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 файл.
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach