Организация соединений в браузерах

Тема в разделе "WASM.BEGINNERS", создана пользователем colobos, 1 мар 2007.

  1. colobos

    colobos New Member

    Публикаций:
    0
    Регистрация:
    30 янв 2007
    Сообщения:
    22
    Если конкретно, меня интересует то, как в браузере (например IE) происходит навигация по разделам сайта. Задача - подменить соединение. Перехватываю wsock32!connect, в обработчике задаю ip удаленного сервера, запускаю функцию с новыми параметрами. Такой способ работает только если оригинальный (до подмены) адрес имеет вид "http://www.wasm.ru". Если же оригинальная строка адреса выглядела как "http://www.wasm.ru/xzxxzxz/forum.post.php?fid=23", после подмены браузер пытается открыть страницу по адресу вида "http://www.playboy.com/xzxxzxz/forum.post.php?fid=23" (то есть не корень сайта). То же самое происходит, если открывать ссылки в поисковике. То есть часть пути "/xzxxzxz/forum.post.php?fid=23" должна где-то храниться и как-то дописываться к заданному мной ip. Кому не лень - подскажите пожалуйста, какие структуры и функции за это отвечают?
     
  2. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    если я тебя правильно понял, тебя интересует передача пути?
    Браузер создает соединение с wasm.ru на порту 80 и передает запрос (упрощено)
    Или я тебя не понял)
     
  3. colobos

    colobos New Member

    Публикаций:
    0
    Регистрация:
    30 янв 2007
    Сообщения:
    22
    А поподробнее можно? Мне нужно попасть в корень подставного сайта, игнорируя запросы и пути, используемые в оригинальных ссылках. А если научиться их (запросы) модифицировать - так еще лучше...........извиняюсь - может глупо выразился, по другому сформулировать не могу.
     
  4. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    после connect'а, браузер посылает запрос(send) на получение страницы - "GET /some.html".
    Подробнее можешь почитать в спецификации HTTP, и посмотреть снифером какие данные отправляются браузером.
     
  5. colobos

    colobos New Member

    Публикаций:
    0
    Регистрация:
    30 янв 2007
    Сообщения:
    22
    А можно сделать так, чтобы запрос не посылался? Какие-нибудь api этим заведуют?
     
  6. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    colobos
    перехватывай connect и send
     
  7. colobos

    colobos New Member

    Публикаций:
    0
    Регистрация:
    30 янв 2007
    Сообщения:
    22
    Ok, спасибо =)
     
  8. colobos

    colobos New Member

    Публикаций:
    0
    Регистрация:
    30 янв 2007
    Сообщения:
    22
    Прошу прощения, еще один вопрос.
    send() или WSASend()? И если send(), то в wsock32 или ws2_32?