Автор |
Сообщение |
dev
Гость
|
Subj: Замена в application/x-www-form-urlencoded
У меня вопрос.
Есть флешевая кнопка, которая при нажатии отправляет серверу:
Код: |
Using Proxy - localhost:8888
POST http://www.site.com/script.php HTTP/1.1
Host: www.site.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8) Gecko/20051111 Firefox/1.5
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: uk,ru-ru;q=0.8,ru;q=0.6,en-us;q=0.4,en;q=0.2
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Cookie: b=b; SIDIX=ea6f876c6f9db5fb5790ba7e9f8f22af
Content-type: application/x-www-form-urlencoded
Content-length: 7830
Connection: keep-alive
Posting 7830 bytes...
variable1=10
variable2=20
/* и так далее */
variable10=7777
|
Мне нужно подменить, например, variable1 с 10 на 500.
Под силу ли такое Proxomitron`у?
Если нет - какую программу посоветуете? Скачал Fiddler, но работа с ней мне не под силу  Очень все там для меня сложно.
Очень прошу помощи!
Название темы поменял.
/chAlx
|
|
|
К началу |
|
 |
chAlx
Moderator

Зарегистрирован: 30.06.2004
Сообщения: 2634
Откуда: SPb
|
Прокс не умеет обрабатывать данные POST-запросов. Обычно приходится подставлять данные в html-форму и оттуда их постить.
Подробнее про ПОСТ надо искать отсюда, но там всё сложно с доступом к старым форумам..
А какие программы это могут -- мне тоже интересно. Пишите, кто знает -- перенесём топик в раздел программ.
|
|
|
К началу |
Профиль Сообщение |
 |
Lab
Гость
|
Цитата: |
Обычно приходится подставлять данные в html-форму и оттуда их постить. |
А можно ли при этом сделать submit (т.е. произвести эффект, равнозначный ручному нажатию кнопки "Отправить" в броузере) без использования JavaScript?
|
|
|
К началу |
|
 |
chAlx
Moderator

Зарегистрирован: 30.06.2004
Сообщения: 2634
Откуда: SPb
|
Цитата: |
А можно ли при этом сделать submit |
При этом -- это, напомню, при заполненной форме на выведенной клиенту html-странице. AFAIK нельзя. Т.е. можно вместо JavaScript использовать другой клиентский язык (JAVA, VBScript, Tcl, другой ECMAScript), но заставить браузер сабмитить форму вообще без скрипта -- это противоречит его назначению.
Тем более, что если уж пришлось дойти до такой нелёгкий жизни, чтобы подменять данные POST,то вставить в тот же код скриптик будет несложно.
|
|
|
К началу |
Профиль Сообщение |
 |
Lab
Гость
|
OK, cпасибо, будем пробовать!
|
|
|
К началу |
|
 |
Partyzan
Platinum Member

Зарегистрирован: 15.02.2005
Сообщения: 319
|
А любопытно смотреть описание этого Фиддлера. Работает с HTTP-запросами, даже редактировать их вроде как умеет, только язык там сложноватый.
А еще может править HTML, только не заточен под это. Вот кусок из примера:
// Replace all instances of the DIV tag with an empty string
_var oRegEx = /<div[^>]*>(.*?)<\/div>/gi;
oBody = oBody.replace(oRegEx, "");
|
|
|
К началу |
Профиль Сообщение |
 |
chAlx
Moderator

Зарегистрирован: 30.06.2004
Сообщения: 2634
Откуда: SPb
|
Partyzan:
Этот пример похож на обычный JAVA- или Perl-код со всеми его достоинствами и недостатками. В частности, получается совсем другой порядок фильтрации: в память загружается вся страница и к ней по очереди применяются все фильтры.
|
|
|
К началу |
Профиль Сообщение |
 |
kutu
Newbee

Зарегистрирован: 22.05.2008
Сообщения: 8
|
немножко не в тему, но все же
в гугловской почте выделяю несколько писем и хочу их удалить, в проксомитрон отправляется пост запрос вида
Код: |
блаблабла
t=qwerty123
t=qwerty124 |
до php скрипты доходит только последнее t=qwerty124
на некоторых сайтах понятное дело добавляют квадратные скобки "t[]=..."
как бороться, есть мысли по данному поводу?
|
|
|
К началу |
Профиль Сообщение |
 |
chAlx
Moderator

Зарегистрирован: 30.06.2004
Сообщения: 2634
Откуда: SPb
|
kutu:
Не очень понял, что на что надо заменить, но очевидно, что для изменения данных POST-запроса потребуется подправить HTML или JS-код исходной страницы.
|
|
|
К началу |
Профиль Сообщение |
 |
kutu
Newbee

Зарегистрирован: 22.05.2008
Сообщения: 8
|
chAlx:
Я так понимаю что пост запросы править в проксомитроне нельзя, но как бы необходимо заменить "t=qwerty123" на "t[]=qwetry123".
Но если не использовать проксомитрон, то письма удаляются, все которые выделил. Следовательно, браузер отправляет массив с индетификаторами писем, которые надо удалить, дк почему этого не делает проксомитрон.
Насчет подправить html или js то я сомневаюсь, у них там, в гугловской почте все на фреймах построено.
|
|
|
К началу |
Профиль Сообщение |
 |
chAlx
Moderator

Зарегистрирован: 30.06.2004
Сообщения: 2634
Откуда: SPb
|
kutu:
Значит, какой-то фильтр портит JS-код, управляющий ГПочтой. Надо открыть лог и посмотреть (по Shift-reload в браузер должно всё заново загрузиться).
Для быстрого результата можно просто отключить web-фильтры при работе с GMail.
|
|
|
К началу |
Профиль Сообщение |
 |
kutu
Newbee

Зарегистрирован: 22.05.2008
Сообщения: 8
|
chAlx:
Таким образом, получается, что проксомитрон не виноват, а виноват php скрипт куда уходит запрос.
Вот например миранда при подключении по http отправляет такой запрос:
Код: |
Posting 31 bytes...
C 64.12.161.153 F |
Скрипт при вызове var_export($_POST, true) не выдает никаких переменных.
Может быть есть способ просмотреть весь пост-запрос без парсинга?
|
|
|
К началу |
Профиль Сообщение |
 |
chAlx
Moderator

Зарегистрирован: 30.06.2004
Сообщения: 2634
Откуда: SPb
|
|
К началу |
Профиль Сообщение |
 |
|