Мне нужно как-то поменять запросы браузера к серверу. Делаю перехват send, правлю буфер, меняю размер буфера , отдаю назад функции и тут браузер начинает тупить, страница не грузится. Что не так делаю? мож кто занимался подобной задачей?
А другое значение не покатит? Content-Length нужно когда отправляются ПОСТ данные, или я ошибаюсь? я же правлю только поля запроса , а не контент
может не прокатить. Что бы проверить посмотри снифером что у тебя реально отсылается, и что принимается. Еще проактивку отключи, например обычный drweb SpIDerMl, будучи до кучи еще и встроенным в LSP, даже после отключения общей защиты (которая полностью не отключается без деинсталляции) может по-гадски молча коверкать пакеты, если обнаружит различия в буферах.Проверено на себе: писал я как-то очень давно юзермодный сплайс, что бы копии писем втихаря правкой E-mail заголовка отправлялись на нужный мейл, так этот гад все дело чуть было не испортил (хотя я по-началу его за нормальную защиту не считал).
Selah а когда ты страницу с сервера получаешь ты как определишь где конец данных без Content-Length ? Править его надо везде.Это раз. Два: браузер может на более высоком уровне сохранять кол-во запрошенных данных, и если ты его изменишь на почти самом низком уровне в send он все равно возьмет другое число.Если ты хочешь эти запросы на другой сервер перенаправить, то надо сделать и новый коннект а не просто изменть Host в заголовке. Скажи конкретнее что ты хочешь менять и как ты это щас делаешь, тогда будет легче что-то подсказать
У меня с другим значением браузеры висли или падали. Для некоторых браузеров можно посмотреть сырцы и станет все понятней (например для chrome).
мне нужно делать редирект, connect перехватил, дальше нужно поправить URI в запросе GET /... HTTP/1.1 , и данные в поле Host и тут у меня нифига не получается. Код простой , просто замена данных в буфере, не начто смотреть. А прокатит фишка с заменой сокета? Сделать свою функцию которая будет делать конект к моему хосту, отправлять мои заголовки, а дальше подставить мой сокет вместо сокета браузера при перехвате recv ????
А ты при хуке connect'a айпишник там изменил на свой ? На левый айпишник твои пакеты с измененными полями слать бесполезно. Да там по разному извратиться можно)) вся фишка в подмене рефера...
А нельзя в recv редирект сделать 301, потом send на другой урл перехватить и заменить респонс на свой? Тут нет ничего сверхсложного