Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 5 481

Раздел: C++
/ вопрос открыт /

Здравствуйте! Этот вопрос поднимался уже мною, правда немного не в такой форме. Вопрос следующий:
Необходимо задать настройки proxy:
а) Для компонент webBrowser (только для компонента, т.е. если я буду использовать в своем приложении несколько компонентов браузера, они все должны независимо друг от друга использовать свою проксю)
б) Для моей программы (грубо говоря все компоненты моего приложения которые будут использовать http протокол должны использовать мои настройки прокси, при этом все остальные программы и ось это касаться не должно )

Я знаю, что материалов в сети куча, но мне хотелось бы услышать ваши проверенные варианты. Реализация нужна на VS C++, но если напишите для Delphi, думаю будет не менее полезным для меня и остальных пользователей. Заранее благодарю!

Ученый Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Ученый (статус: 8-ой класс)
Вопрос отправлен: 5 июля 2011, 18:06
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 10; последнее сообщение — 6 июля 2011, 14:05; участников в обсуждении: 3.
Вадим К

Вадим К (статус: Академик), 5 июля 2011, 18:17 [#1]:

Что бы все эти броузеры были в одном приложении - можно, но будет очень сложно.
Дело в том, что компонент-браузер берет свои настройки с реестра, а если менять постоянно в реестре - и другие браузеры могут подхватить проксю.
Но можно попробовать раскурить для начала это http://www.delphisources.ru/pages/faq/base/wb_proxy.html
Галочка "подтверждения прочтения" - вселенское зло.
Gooddy

Gooddy (статус: 3-ий класс), 5 июля 2011, 19:18 [#2]:

Вадим К: а можно таким образом врубить проксю для одного webbrowser, вырубить, врубить ДРУГУЮ для второго webbrowser?
Чисти код! Чисти код! Чисти код!
Ученый

Ученый (статус: 8-ой класс), 5 июля 2011, 22:36 [#3]:

to Вадим, я знаю этот способ, и в случае когда всю программу надо направить через прокси- прекрасная вещь (сейчас постараюсь переписать его под VS C++). А вот как быть что бы направить отдельный компонент? может запихать компоненты в разные потоки и назначать проксю не для приложения а для потока?
Вадим К

Вадим К (статус: Академик), 5 июля 2011, 23:53 [#4]:

Gooddy: Указанный код меняет прокси для процесса. То есть, если разнести webbrowser по разным процессам - то можно.
Ученый: Визуальные компоненты в потоках, если они принадлежат форме - очень плохо. Чревато кучей багов.
Галочка "подтверждения прочтения" - вселенское зло.
Ученый

Ученый (статус: 8-ой класс), 6 июля 2011, 00:15 [#5]:

Ну а кстати, можно попытаться сделать как делает chrome, у него каждая вкладка отдельным процессом, может и каждый webbrowser по разным процессам разбросать? кстати, ребят, помогите переписать под VS C++ этот код... Вот здесь есть пример, но похоже он на шарпе... что то не могу переписать...
Вадим К

Вадим К (статус: Академик), 6 июля 2011, 00:37 [#6]:

хром построен не на базе webbrowser:) И то, что каждая вкладка отдельным процессом (на самом деле не так, там несколько вкладок на процесс), ничего не меняет. В своем приложении так тоже можно сделать, но зачем? Что для чего это все нужно? что бы запустить несколько копий какой то онлайн-игры для накликивания манны?
Код по ссылки "вот здесь" не совсем подходит для задачи - он меняет прокси для ВСЕХ IE. Даже если в стороннем приложении используется webbrowser - поменяет и там. Оно нужно такое? То есть, идея с мультипроцессорной архитектурой "как у хрома" работать не будет. А вот с кодом, который я дал выше - может быть.
Галочка "подтверждения прочтения" - вселенское зло.
Ученый

Ученый (статус: 8-ой класс), 6 июля 2011, 00:47 [#7]:

вот мне и нужен тот код, на который ты давал ссылку, только на с++. а сам пока не могу что то переписать...
на счет мультипроцессорной архитектуры- думаю можно и несколько копий приложений запустить, хотя тогда между ними взаимодействие придется организовывать... но это уже не суть важно. мне главное код на си получить...
Вадим К

Вадим К (статус: Академик), 6 июля 2011, 10:55 [#8]:

А что же там переписывать? там все настолько прозрачно и настолько в с++, что переписать не штука.
Галочка "подтверждения прочтения" - вселенское зло.
Ученый

Ученый (статус: 8-ой класс), 6 июля 2011, 13:07 [#9]:

Вадим, код там действительно прозрачнее некуда. проблема в том что я не могу найти PInternetProxyInfo в Вижуал студии ... или аналогичный тип.
Вадим К

Вадим К (статус: Академик), 6 июля 2011, 14:05 [#10]:

ну так этого типа там и не будет. Потому что этот тип, если глянуть в делфи в сорцах, PInternetProxyInfo = ^InternetProxyInfo
Но я рекомендую зайти ещё с другой стороны - посмотреть на функцию UrlMkSetSessionOption, а потом найти у себя на диске файл Urlmon.h и искать уже в нем.
Галочка "подтверждения прочтения" - вселенское зло.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:35
Выполнено за 0.03 сек.