BlackStar
|
|
« : 13-02-2009 22:23 » |
|
Доброго времени суток. Мне нужно менять строку useragent-a для эксплорера, но простых и адекватных методов я что-то найти не могу. 1-й вариант: Замена строки в реестре. Описано, например, здесь: http://www.pc1news.com/changing-the-internet-explorer-user-agent-string-799.htmlЭто, конечно, достаточно простой вариант, но он мне не совсем подходит, потому что полностью сделать строку такую как нужно не получается - эксплорер сам форматирует её таким образом, что после названия браузера дополнительные параметры идут в скобках и сделать, скажем, из эксплорера файрфокс не получится - у файрфокса параметры в конце строки идут без скобок и добиться такого эффекта у меня пока никак не получается. 2-й вариант: Использовать InternetSetOption(), но эта функция меняет юзерагента только для конкретного соединения, которое было открыто с помощью InternetOpen(). Мне такой вариант тоже не подходит, ибо он совсем про другое. Скажите, может я что-то неправильно делаю? Может всё-таки как-то можно заставить эксплорер показывать произвольно отформатированную строку? Для примера продемонстрирую две строки юзерагента: IE7: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022) Заметьте, строка оканчивается скобкой! Получается, что всё, что идет после Mozilla/4.0 находится в скобках. FireFox: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.1) Gecko/2008070208 FireFox/3.0.1 А здесь, как ни странно, скобок нет. Теперь вопрос на засыпку. Можно ли, не прибегая к каким-то особо-экстремальным методам, сделать так, чтобы эксплорер показывал строку юзерагента, например, для файрфокса, идентичную указанной выше? У меня это сделать не получается - эксплорер упорно заворачивает все параметры в скобки Если кто-то когда-то сталкивался с этой проблемой и знает её решение, то подскажите мне, пожалуйста, как это сделать.
|
|
|
Записан
|
Программирование на заказ C/C++, Delphi, PHP, javascript
|
|
|
zubr
Гость
|
|
« Ответ #1 : 14-02-2009 06:39 » |
|
2 варианта: 1. Создаешь свой броузер на базе IWebBrowser2 2. Делаешь BHO, перехватываешь IE В методе IWebBrowser2 Navigate2 в параметре Headers устанавливаешь свой заголовок.
|
|
|
Записан
|
|
|
|
BlackStar
|
|
« Ответ #2 : 14-02-2009 09:23 » |
|
Хм... БХО... Вариант. Надо попробовать. Спасибо
|
|
|
Записан
|
Программирование на заказ C/C++, Delphi, PHP, javascript
|
|
|
RXL
|
|
« Ответ #3 : 14-02-2009 09:33 » |
|
Третий способ: прокси на пути IE, способный подменить заголовок запроса. По моему, для экспериментальных нужд и разовых целей это менее затратно.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
BlackStar
|
|
« Ответ #4 : 14-02-2009 09:53 » |
|
Нужды, как раз, очень даже практические И сделать БХО, мне кажется, будет несколько проще. К тому же, перехватывать нужно всего лишь одну функцию и обрабатывать её примитивным алгоритмом. Хотя, если БХО по какой-то причине не сработает, то да, видмо придётся делать прокси. Но я надеюсь, что до этого не дойдёт.
|
|
« Последнее редактирование: 14-02-2009 09:56 от HempStar »
|
Записан
|
Программирование на заказ C/C++, Delphi, PHP, javascript
|
|
|
RXL
|
|
« Ответ #5 : 14-02-2009 10:00 » |
|
Я использовал фильтрующий прокси Privoxy: можно не только перекроить страницу, но и, к примеру, вставить basic-авторизацию для программ, которые это не умеют (корректно) делать.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
BlackStar
|
|
« Ответ #6 : 17-02-2009 16:34 » |
|
К сожаленью, БХО проблему тоже не решает С помощью этого метода можно поменять заголовок только у основного запроса, а все остальные - загрузка картинок, баннеров и т.п. - остаются неперехваченными и имеют дефолтную строку юзерагента. Выходит, что полностью сменить юзерагента так, как того требует тех задание, без каких-либо внешних средств вроде фильтрующих проксей, просто невозможно...
|
|
|
Записан
|
Программирование на заказ C/C++, Delphi, PHP, javascript
|
|
|
zubr
Гость
|
|
« Ответ #7 : 17-02-2009 16:59 » |
|
У IWebBrowser2 есть событие BeforeNavigate2. Оно возникает при всех загрузках фреймов, баннеров, самой страницы и т. п. Интерфейс данного события позволяет менять заголовок.
|
|
|
Записан
|
|
|
|
BlackStar
|
|
« Ответ #8 : 20-02-2009 15:59 » |
|
К сожалению, со всей уверенностью заявляю, что BoforeNavigate2 перехватывает только загрузку фреймов.
|
|
|
Записан
|
Программирование на заказ C/C++, Delphi, PHP, javascript
|
|
|
zubr
Гость
|
|
« Ответ #9 : 20-02-2009 17:38 » |
|
Хмм... Посмотри в сторону UrlMkSetSessionOption, никогда ею не пользовался, но из описания как я понимаю, то что тебе нужно. Позволяет устанавливать опции (URLMON_OPTION_USERAGENT) для текущего процесса. То есть по идее, если в БХО применить данную функцию, то она должна заменить строку юзер-агента.
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #10 : 16-04-2009 15:02 » |
|
что за странность в IE7 - размазанные шрифты (на работе такого не наблюдал, дома поставил 7 - сразу в глаза бросилось) причём на кнопках то шрифт нормальный, чёткий, а на страницах - размазня ((
|
|
|
Записан
|
|
|
|
Sla
|
|
« Ответ #11 : 16-04-2009 15:08 » |
|
Мой компьютер - Свойства - Дополнительные - Производительность - Убрать галочку "Сглаживать экранные шрифты"
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #12 : 16-04-2009 15:25 » |
|
Слав, я про это в курсе, это всегда отключено. Только в эксплорере на страницах такая хрень. На всех остальных элементах эксплорера тоже всё ок
|
|
|
Записан
|
|
|
|
Джон
просто
Администратор
Offline
Пол:
|
|
« Ответ #13 : 16-04-2009 15:32 » |
|
Фонты проверяй, они у тебя разные.
|
|
|
Записан
|
Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома. "Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash "Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman "All science is either physics or stamp collecting." Ernest Rutherford "Wer will, findet Wege, wer nicht will, findet Gründe."
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #14 : 16-04-2009 15:36 » |
|
попереключал, по моему ничего даже не меняется
|
|
|
Записан
|
|
|
|
RXL
|
|
« Ответ #15 : 16-04-2009 17:07 » |
|
У меня в IE7 еще хуже выглядит.
Леш, проверь версии IE7 дома и на работе.
|
|
« Последнее редактирование: 16-04-2009 17:14 от RXL »
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #16 : 16-04-2009 17:58 » |
|
хорошо. Дома щас
WXP SP3 IE 7.0.5730.13
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #17 : 17-04-2009 02:55 » |
|
на работе версия точно такая же - всё чётко! Где ж собака порылась ? )))
|
|
|
Записан
|
|
|
|
Джон
просто
Администратор
Offline
Пол:
|
|
« Ответ #18 : 17-04-2009 08:14 » |
|
Настройки фонтов сравни. Для отображения кирилицы.
|
|
|
Записан
|
Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома. "Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash "Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman "All science is either physics or stamp collecting." Ernest Rutherford "Wer will, findet Wege, wer nicht will, findet Gründe."
|
|
|
PooH
Глобальный модератор
Offline
Пол:
... и можно без хлеба!
|
|
« Ответ #19 : 17-04-2009 11:54 » |
|
за 30 секунд в гугле нашел: сервис - свойства обозвевателя - дополнительно - мультимедия - убрать галку с Всегда использовать ClearType для HTML
или же у кого EN IE7 Tools - Internet Options - Advanced - Multimedia - убрать галку с Always use ClearType for HTML
ЗЫ: не проверял.
|
|
|
Записан
|
Удачного всем кодинга! -=x[PooH]x=-
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #20 : 17-04-2009 11:57 » |
|
ну это я и без гугла нашёл и убрал в настройках, однако ничего не поменялось. Правда, не перезагружал комп, приду домой - проверю
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #21 : 17-04-2009 15:00 » |
|
настройки одинаковые на ))) Однако, дома - размазня
|
|
|
Записан
|
|
|
|
RXL
|
|
« Ответ #22 : 20-04-2009 03:56 » |
|
PooH, попробовал снять эту галочку и сравнить... В общем, IE7 - полное Г. Не мудрено, что они торопятся выпустить IE8. Чтобы было ясно... С включенным cleartype: Без cleartype:
|
|
« Последнее редактирование: 20-04-2009 04:03 от RXL »
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #23 : 20-04-2009 04:01 » |
|
а ещё ие7 заметно притормаживает на моём домашнем (компик не новый), особенно когда на страничке флешка мелькает
|
|
|
Записан
|
|
|
|
RXL
|
|
« Ответ #24 : 20-04-2009 04:04 » |
|
Леш, ну так они же не заново написали, а примочек добавили - естественно, что код становится все тяжелее.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #25 : 20-04-2009 04:10 » |
|
Ром, у тебя, вижу, размазанность пропала ! У меня нет (
|
|
|
Записан
|
|
|
|
RXL
|
|
« Ответ #26 : 20-04-2009 05:11 » |
|
Леш, так вместе с мылом еще ниже и качество рендеринга упало. Безобразный браузер - IE6 как-то получше работал.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #27 : 29-04-2009 15:38 » |
|
поставил ИЕ8 , чисто субъективно - всё побыстрее )
|
|
|
Записан
|
|
|
|
|