0 / 0 / 1
Регистрация: 06.12.2011
Сообщений: 13

Необходимо перехватить ответ на post-запрос, отредактировать его, и отправить дальше

07.12.2011, 11:37. Показов 7331. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ситуация такая пишу свой браузер, специфика задачи не позволяет использовать стандартные, необходимо перехватить ответ на post-запрос, там возвращается HTML, отредактировать его, и отправить дальше. Там уже скрипт страницы вставит его куда надо.

Добавлено через 21 час 17 минут
С WebBrowser никто не работал что-ли???
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.12.2011, 11:37
Ответы с готовыми решениями:

Отправить форму методом POST и получить ответ
Как отправить вот такую форму на сервер и получить с него ответ в текстовом виде? <form id="searchForm"...

POST-Запрос и его ответ
Вступление: У РЖД есть такая программа лояльности - РЖД Бонус. Суть её в том, что за успешные поездки пассажирам полагается некий бонус....

При попытке отправить post запрос с капчей сервер не принимает его
на сайте имеется капча, смотрел сниффером - первый запрос идет на страницу с капчей, потом скрипт берет сессию и пихает в ссылку по которой...

14
 Аватар для sau
2773 / 2073 / 386
Регистрация: 22.07.2011
Сообщений: 7,820
08.12.2011, 01:48
Такая формулировка что хрен поймешь ) , где "ТАМ" - в ответе на запрос ?, куда "ДАЛЬШЕ" - ?., "ТАМ уже СКРИПТ страницы" - если мы имеем ответ на запрос, то какой СКРИПТ на какой СТРАНИЦЕ, куда ВСТАВИТ ???

"пишу свой браузер" - это значит что у тебя должен быть "свой" парсер DOM, и "свой" движок отрисовки., а WebBrowser использует движок IE 4.

З.Ы По названию темы я вообще подумал что речь идет о реализации снифера на c# )
0
0 / 0 / 1
Регистрация: 06.12.2011
Сообщений: 13
08.12.2011, 15:11  [ТС]
ну хоть кто-то ответил ))) наверно я просто что-то непонятно написал ) ладно... про скрипт забыли ) может есть предложение как вообще можно получить ответ на запрос который отправлялся из WebBrowser (то есть сайт открытый через WebBrowser послал запрос на имясайта/файл.php) могу я как-то получить ответ на этот запрос в программу (ну например в переменную его закинуть).

Добавлено через 19 минут
и ещё вопрос который должен упростить жизнь ) можно ли как-то получить исходный код запроса (то есть то, что отправляется на сервер) то есть отлавливать все запросы которые отправляются из WebBrowser.
0
 Аватар для sau
2773 / 2073 / 386
Регистрация: 22.07.2011
Сообщений: 7,820
08.12.2011, 16:02
могу я как-то получить ответ на этот запрос в программу
- насколько я помню, у компонента есть событие OnDocumentLoad (или как то так), возникает каждый раз после загрузки документа (ответа на запрос)., после чего можно получить контент документа через одно из свойств - WebBrowser.Document.InnerHtml (или как то так)
получить исходный код запроса
- можно, если написать снифер (или если докапаться до COM интерфейсов IE, может там что то есть)., если просто посмотреть то можно сторонними прогами.

В общем вот:
http://msdn.microsoft.com/ru-r... 7hf8a.aspx
0
0 / 0 / 1
Регистрация: 06.12.2011
Сообщений: 13
08.12.2011, 16:05  [ТС]
если можно поподробнее о снифере... может пример кода есть... ссылка какая-то где пример достать можно... заранее спасибо...
0
 Аватар для sau
2773 / 2073 / 386
Регистрация: 22.07.2011
Сообщений: 7,820
08.12.2011, 16:14
c# WinPCap
http://pcapdotnet.codeplex.com/releases/view/58640
0
08.12.2011, 17:01

Не по теме:

Цитата Сообщение от sau Посмотреть сообщение
а WebBrowser использует движок IE 4.
Вообще-то IE7

0
 Аватар для sau
2773 / 2073 / 386
Регистрация: 22.07.2011
Сообщений: 7,820
08.12.2011, 18:39
Цитата Сообщение от Niades Посмотреть сообщение

Не по теме:


Вообще-то IE7

Элемент управления WebBrowser является управляемой оболочкой для WebBrowser control ActiveX
Remarks

Applications that host this Microsoft ActiveX control can browse sites on the World Wide Web, as well as directories on the local computer and on network servers.

Object Information

CLSID CLSID_WebBrowser
Minimum availability Internet Explorer 4.0
Minimum operating systems Windows 98, Windows CE 4.0
http://msdn.microsoft.com/ru-r... S.85).aspx

Удали 7-ю версию браузера (со всеми его компонентами), и WebBrowser все равно будет работать, фактически он может определять версию и брать последнюю, но минимум это IE4

Добавлено через 12 минут
З.Ы Рефлектор показал загрузку ActiveX по GUID = "8856f961-340a-11d0-a96b-00c04fd705a2", в реестре по данному GUID-у ссылки на компоненту текущего браузера.
0
0 / 0 / 1
Регистрация: 06.12.2011
Сообщений: 13
08.12.2011, 18:47  [ТС]
как я понял сниффер - отдельная программа, и она поможет только чтобы увидеть запрос, и работать вручную с ним. А у меня идея такая: необходимо исходник запроса получить (надо его программно получать, чтоб всё автоматически работало) и программно послать запрос на сервер, получить ответ и работать с ответом... проблема в программном получении исходника запроса.

Добавлено через 2 минуты
неужели никак нельзя получить запросы которые отправляет сама программа... прога ж по идее должна знать что она отправляет...
0
 Аватар для sau
2773 / 2073 / 386
Регистрация: 22.07.2011
Сообщений: 7,820
08.12.2011, 19:11
Ну почему, реализуй снифер в свой программе и будешь иметь пакет, просто я не уверен что WebBrowser реализует паблик свойства для доступа к содержимому пакета (это слишком низкий уровень для такой компоненты), сам то он отправляет данные , но они формируются на уровне ActivX компоненты при работе с сокетами.
Да и на врятли есть необходимость тебе пакет разбирать, все данные и так есть. - html, адрес сервера и т.п

Добавлено через 13 минут
На крайняк, можешь посмотреть какие данные нужны в запросах (для IE есть удобное расширение ieHttpHeaders), и отправлять их через WebClient-WebRequest, в общем средств хватает, нужно только задачу себе корректно сформулировать )
1
0 / 0 / 1
Регистрация: 06.12.2011
Сообщений: 13
08.12.2011, 19:21  [ТС]
) про синффер узнал сегодня утром от Вас... как реализовать его ума не приложу... если не сложно может есть какая-то пошаговая инструкция )

ещё была идея такая... отредактировать HTML страницы... то есть на странице есть форма (тэг <form>), отредактировать параметр action так чтобы он отправлял данные в мой проект, а не на сервер... может сокет открыть какой-нибудь, или ещё как-то связать страничку с проектом... Возможно как-то это реализовать?

Добавлено через 5 минут
ладно... от сниффера откажемся... )
0
 Аватар для sau
2773 / 2073 / 386
Регистрация: 22.07.2011
Сообщений: 7,820
08.12.2011, 19:39
В принципе имея только обрывки задачи, сложно предложить грамотное решение, все средства я перечислил, какое удобнее - сами решайте ).

Добавлено через 15 минут
отредактировать параметр action так чтобы он отправлял данные в мой проект
- ну тогда ,ко всему прочему, твой проект должен реализовать веб-сервер и обрабатывать HTTP запросы ), опять таки скорей всего нафиг это не нужно, формулировка задачи не корректная.
0
0 / 0 / 1
Регистрация: 06.12.2011
Сообщений: 13
08.12.2011, 19:46  [ТС]
постараюсь сформулировать корректно.
есть форма на сайте после сабмита формы отсылается post запрос на сервер, в ответе на запрос приходит нудный мне для работы html код.
цель: получить этот html код.

гуглил много по этому поводу, ничего толкового не нашёл, практически во всех случаях натыкался на вариант получения ответа на посланный запрос (то есть мне его сначала надо послать, а потом могу получить ответ). Вот я и решил на шаг назад отойти и попробовать получить код запроса, чтобы самому его отослать, и получить долгожданный ответ.
вот как бы и всё... надеюсь теперь корректно задачу сформулировал... если что не понятно опять написал, говорите - поясню... второй день долблюсь над этим вопросом...
0
 Аватар для sau
2773 / 2073 / 386
Регистрация: 22.07.2011
Сообщений: 7,820
08.12.2011, 19:54
цель: получить этот html код.
1. Данные запроса можно промониторить через ieHttpHeaders,wireshark и прочие синферы (или свой снифер в программе) , затем программно отправить этот запрос через WebClient или WebRequest, в ответ получишь HTML с которым делай все что тебе нужно.
2. получить HTML можно так же через свойства WebBrowser.-а, как писал выше.
3. Написать свой снифер ,который будет мониторить все пакеты проходящие через сетевую карту, и выгребать нужный тебе HTML/
4. Может еще какой изврат придумать ), но первых 3-х хватит.

Твоя моя понимать ?

З.Ы Чет простая тема разбухла, пора прикрывать флуд )
1
0 / 0 / 1
Регистрация: 06.12.2011
Сообщений: 13
09.12.2011, 13:29  [ТС]
вроде понял идею... буду пробовать..

Добавлено через 16 часов 38 минут
дико извиняюсь перед sau. дело в том что нужный html после получения ответа появляется на сайте... никаких запросов ловить не нужно... надо было просто в правильный момент ещё раз посмотреть в html. Но всё равно спасибо так как натолкнули на мысль...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.12.2011, 13:29
Помогаю со студенческими работами здесь

Отправить POST запрос и получить ответ
нужно послать запрос и получить результаты поиска со словом &quot;Hello&quot; static void Main(string args) { ...

Как отправить на сервер xml запрос с помощью post и получить ответ в xml?
нужно отправить на сервер xml запрос с помощью post и получить ответ в xml, погуглил нашел примеры, осталось лишь проверить примеры на...

Как перехватить post-запрос?
Не нашел категории куда задать свой вопрос, поэтому задам тут. Как перехватить post запрос на фейсбуке? Дело в том что http analyzer не...

POST request. Как принять и отправить ответ
Добрый день дорогие форумчане! Помогите определиться пожалуйста. Стоит такая задача: Есть клиент который посылает POST...

Перехватить HTTPS запрос, изменить часть ссылки и отправить на сервер
Приветствую всех. Столкнулся с проблемой перехвата HTTPS запросов. Задача состоит в том что бы перехватить HTTPS запрос, изменить часть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru