![]() |
[c++] [firefox] скрытый переход по линку
Добрый день,
К примеру есть следующая хтмл страница, открытая в лисе (допустим ее адрес, находящийся в панели адреса - http://www.CURRENT.com/another.php): <html> <body> <form action=http://www.ORIGINAL.com/main.php> ....... // контент формы </form> </body> </html> нужно чтобы после сабмита юзером формы, в браузере остался адрес http://www.CURRENT.com/another.php, а ответ был отображен от сервера http://www.ORIGINAL.com/main.php Желательно сделать это хуком какойнить функции фф или winsock. Посдкажите каким образом можно реализовать подобный скрытый серфинг? Я вообще хотел делать так: 1. в PR_Write (оболочка для send) изменить заголовки так, чтобы они соответствовали http://www.CURRENT.com/main.php 2. в send поменять заголовки обратно)) таким образом фф занесет нужный адрес урла (http://www.ORIGINAL.com/main.php) в нужный буффер и в нужный момент времени, а именно как только получит первые данные от recv, в поле урла должен отобразиться нужный урл))) во всяком случае это в теории |
еще вопрос, как быть с хттпс? весь запрос включая хедеры и тело шифруется и подменить нужный текст запроса не получится(
|
эм если пишешь под windows что мешает тебе напрямую работать с окном fireFox через winAPI функции?
FindWindow, GetWindowText, SetWindowText чтобы быстро найти нужный элемент используй стандартную утилиту VS - Spy++ чтоб писать легче было прогу алгоритм такой: нашли окно нашли нужный элемент цикл бесконечный с задержкой в несколько миллисекунд чтобы не грузить процессор запросили текст элемента в нем, если нужный сайт переписываем что нужно... |
это работает с ИЕ (причем некрасиво), но не работает с фф, т.к. там механизм окон реализован подругому. я не нашел окна, ответственного за прием сообщений об изменении поля с урл.
я вообще хз че с этим фф делать( |
только что промониторил все окна мозиллы, ничего с http туда не приходит, нужен другой подход. хук send тоже неподходит. остается хук PR_Write, но подменяя хедеры GET / на GET /adad.php в строке урла получаем:
http://ya,ru/adad.php !!! то же самое с хуком send, значит получение урла, откуда получен ответ, происходит какимто другим образом |
вопрос: откуда можно достать инфу с какого урла качается в данный момент инфа (функцией PR_Read или recv)? насколько мне известно в ответе от сервера нет информации откуда пришел ответ!
|
ага... нету есть только запрос
GET path HTTP POST path HTTP ну а вообще вроде поле HOST является обязательным параметром. + ко всему есть такая штука как индификатор сокета - а его можно узнать так же можно узнать какие сокеты открыл процесс с какими индификаторами... http://forum.antichat.ru/showpost.php?p=1302363&postcount=28 в общем трындец ) |
ну допустим я знаю идентификатор сокета(они передаются как параметры функциям PR_Read/PR_Write, а они обе у меня захучены) че дальше?))
это имеешь ввиду? Код:
ress = sizeof(sockaddr_in);//--- commenting this line would cause an 10014 error.может ff список какойнить создает, где хранится этот path? |
чет не понял что ты хотел сказать своим постом) за коды ответа спасибо, но мне нужно всего-лишь одно:
чтобы я перешел на yandex.ru/yandsearch?text=any а в строке браузера было: http://yandex.ru/ ! ща перелопатил исходники фф вместе с документацией пришел к выводу, что докопаться до поля урла можно 2мя способами: 1. xpcom 2. чезез shell-функции мозиллы (LoadURI()/OnLinkClick()) https://developer.mozilla.org/en/Document_Loading_-_From_Load_Start_to_Finding_a_Handler с первым я никогда не работал, а вторые проблематично вызвать, т.к. они находятся в самом ехе, а не во внешней длл( в общем какойто пестец |
ну а че тут не понятного? ) тебе надо хреначить расширение для мозилы-тормозилы )
читай как это делается https://developer.mozilla.org/En/Firefox_addons_developer_guide я в принципе допер ) все пишется на языке javascript используя DOM мозилы и ее внутренние всякие функции... |
| Время: 09:49 |