-
fbus (21.02.11 15:02) [0]Здравствуйте, товарищи.
Вопрос следующий. Перерыл весь интернет и документацию, но найти решение вопроса неудалось.
суть вот в чем - пишу браузер на основе TWebbrowser. Встал вопрос работы через прокси сервер, и тут выяснилось вот что - есть пример кода для работы с открытыми прокси (указываем адрес, порт) и спокойно ходим в интернет (работает), мне нужно теперь, чтобы браузер поддерживал аутентификацию на проксях (тут все сложнее, ни кода, ни информации...)
уже пробовал устанавливать Gecko, TMozillaBrowser, TEmbeddedBrowser (тут вообще интересно, на сайте проекта прямо так и написано, что работает с авторизацией криво, в моем случае вообще не работает)
В связи с этим вопрос - как можно решить эту проблему? устроит любой компонент
вот код, который работает с открытыми проксями:
var: PIInfo: PInternetProxyInfo;
....
procedure TForm1.ApplyProxy(proxy: string);
begin
New(PIInfo);
PIInfo^.dwAccessType := INTERNET_OPEN_TYPE_PROXY;
PIInfo^.lpszProxy := ('12.34.56.78:8080');
PIInfo^.lpszProxyBypass := PChar('');
UrlMkSetSessionOption(INTERNET_OPTION_PROXY, piinfo, SizeOf(Internet_Proxy_Info), 0);
WebBrowser1.Navigate('www.myip.ru');
Dispose(PIInfo);
end;
Может, кто сталкивался с проксями?
Заранее спасибо! -
clickmaker © (21.02.11 19:08) [1]если прокси именно с авторизацией, то INTERNET_OPTION_PROXY_PASSWORD, INTERNET_OPTION_PROXY_USERNAME
-
Dennis I. Komarov © (22.02.11 10:38) [2]
> пишу браузер на основе TWebbrowser
Уже смешно... ослику новую шкурку подарили? -
clickmaker © (22.02.11 11:01) [3]> пишу браузер на основе TWebbrowser
>
> Уже смешно
пусть пишет. Чем меньше новых браузеров, тем легче нам, веб-программистам ) -
fbus (22.02.11 12:29) [4]Dennis I. Komarov, смешное то, что вы не можете мне дать ответа а только флудите. браузер пишу не для широкого рынка а под конкретные нужнды.
clickmaker, спасибо, в какую сторону копать нашел, но если не сложно, можно конкретный пример на основе того кода? пробовал вставлять после
UrlMkSetSessionOption(INTERNET_OPTION_PROXY, piinfo, SizeOf(Internet_Proxy_Info), 0);
результат - браузер выходит в интернет напрямую. -
Dennis I. Komarov © (22.02.11 12:44) [5]
> fbus (22.02.11 12:29) [4]
Какой я хороший...
> браузер пишу не для широкого рынка а под конкретные нужнды.
И чего же в нем такого конкретного, что сам мелкософт не смог реализовать? -
clickmaker © (22.02.11 12:52) [6]> пробовал вставлять после
что именно вставлять? -
fbus (22.02.11 12:55) [7]И чего же в нем такого конкретного, что сам мелкософт не смог реализовать?
Да Вам, батенька не в программисты явно... Зачем тогда вообще пишется софт? Зачем писать оболочки под БД? пусть люди работают в SQL через стандартные мелкософтские оболочки и ручками пишут запросы! в браузер тоже можно многое "прикрутить" так что не надо тут флудить, если нечего сказать по теме -
fbus (22.02.11 12:57) [8]UrlMkSetSessionOption(INTERNET_OPTION_PROXY_USERNAME, Pchar(user), SizeOf(user)+1, 0);
UrlMkSetSessionOption(INTERNET_OPTION_PROXY_Password, Pchar(pass), SizeOf(pass)+1, 0); -
clickmaker © (22.02.11 13:03) [9]> [8] fbus (22.02.11 12:57)
какого типа user и почему SizeOf ? -
fbus (22.02.11 13:09) [10]user и pass в string
SizeOf - потому что в параметрах требует указать dwBufferLength -
clickmaker © (22.02.11 13:15) [11]и чему равно Sizeof(user)?
-
Плохиш © (22.02.11 13:21) [12]
> fbus (22.02.11 13:09) [10]
И кто тебя научил определять длину строки с помощью SizeOf? -
fbus (22.02.11 13:25) [13]Sizeof(user)=8 (7 символов)
Sizeof(pass)=11(8 символов)
смущает то что браузер не пишет что например не пройдена авторизация а тупо лезет напрямую -
fbus (22.02.11 13:27) [14]ошибся
Sizeof(pass)=11(10 символов)
> И кто тебя научил определять длину строки с помощью SizeOf?
длина строки length() но от этого легче не становится -
Dennis I. Komarov © (22.02.11 13:32) [15]
> fbus (22.02.11 12:55) [7]
хрен с редкой то не путай...
Вопрос был вполне конкретный, а вместо ответа действительно флуд о моем месте в этой жизни... -
clickmaker © (22.02.11 13:57) [16]> [13] fbus (22.02.11 13:25)
> Sizeof(user)=8 (7 символов)
это точно D7 и user: string ?