Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 12.01.2013, 22:19
WAScrew WAScrew вне форума
Прохожий
 
Регистрация: 12.01.2013
Сообщения: 5
Репутация: 10
Восклицание Ох уж эти прокси…

Всем привет! Не часто я пишу на форумы – отправляюсь в гугл. Но вот одну проблему никак решить не могу: XE2 и прокси с авторизацией.

Есть чудесная процедура proxy_go:
Код:
procedure proxy_go(proxy: string);
var proxy_info : PInternetProxyInfo;
begin
New (proxy_info);
proxy_info^.dwAccessType := INTERNET_OPEN_TYPE_PROXY;
proxy_info^.lpszProxy := PAnsiChar(Proxy);
proxy_info^.lpszProxyBypass := PAnsiChar('');
UrlMkSetSessionOption(INTERNET_OPTION_PROXY, proxy_info, SizeOf(Internet_Proxy_Info), 0);
end;
Вот только PAnsiChar() преобразует только 1ый символ, и как не возись (что только не пробовал), не исправить это дело. PChar, PWideChar, и аналогичные Ansi не спасают. Но если задать строкой – всё отлично работает:
proxy_info^.lpszProxy := ‘123.456.78.90:80’;

Для обычных прокси решение я нашёл - MappedPort, и всё бы ничего, да вот необходимо использовать прокси с авторизацией. Возился с EmbeddedWB, и вроде вот оно – счастье, но не всё так легко оказалось…
Настройки прокси устанавливаются именно для ie, проксю установить можно, но вот отключить – незя.. через реестр вырубать муторно.

Помогите, ткните носом если нужно, как twebbrowser заставить работать через прокси с авторизацией?
Ответить с цитированием
  #2  
Старый 12.01.2013, 22:21
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

В XE2 String = WideString, то есть один символ занимает два байта. После каждого англ. символа идет 0. А PAnsiChar работает до первого нуля. Поэтому лучше перевести String в AnsiString, а потом юзать PAnsiChar. По идеи делфа в этом случае сделает нормальное преобразование.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием
Этот пользователь сказал Спасибо Bargest за это полезное сообщение:
WAScrew (12.01.2013)
  #3  
Старый 12.01.2013, 22:35
WAScrew WAScrew вне форума
Прохожий
 
Регистрация: 12.01.2013
Сообщения: 5
Репутация: 10
По умолчанию

Спасибо большое – заработало.
Последний вопрос - как авторизовать прокси?
Удалось найти:
proxy_info^..lpszProxy := PChar('userassword@195.43.67.33:8080');
Ошибок вроде нет, вот только элитных прокси нет, как и возможности проверить в деле..
Ответить с цитированием
  #4  
Старый 12.01.2013, 23:07
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,906
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

Поставь себе проксика и не морочЬ людей.
ЗЫЖ Если насмотрелся фильмов про хакеров думаешь через каскад проскей залезть куда-то скажу так: не получится у тебя ничего - вперед учиться.
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием
  #5  
Старый 12.01.2013, 23:15
WAScrew WAScrew вне форума
Прохожий
 
Регистрация: 12.01.2013
Сообщения: 5
Репутация: 10
По умолчанию

*Из фильмов про хакеров помню только Мухтара, а именно взлом мыла через IPconfig*

Хотел бы залезть куда-то, через гору проксей, мне бы авторизация на оных не понадобилась.
Господин модератор, может вы поможите как на проксях то авторизироваться?
Ответить с цитированием
  #6  
Старый 12.01.2013, 23:24
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,906
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

Мужчина, вот тут читайте (ссылки на RFC имеются). А если вам интересно как компоненты накидать, то в Код на шару милости просим.
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 02:54.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter