Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > CppWebBrowser Proxy


Автор: Kasiro 4.8.2011, 12:56
Всем привет. Пытаюсь через прокси открывать сайты в CppWebBrowser.
Прокси указываю вот таким методом:

Код

INTERNET_PROXY_INFO IntInfo;
IntInfo.dwAccessType = INTERNET_OPEN_TYPE_PROXY;
IntInfo.lpszProxy = "217.172.184.124:33057";            
IntInfo.lpszProxyBypass = "";
char *user="username";
char *pass="password";
UrlMkSetSessionOption(INTERNET_OPTION_PROXY_USERNAME, user, sizeof(user), 0);
UrlMkSetSessionOption(INTERNET_OPTION_PROXY_PASSWORD, pass, sizeof(pass), 0);
UrlMkSetSessionOption(INTERNET_OPTION_PROXY, &IntInfo, sizeof(IntInfo), 0);


Соответственно страница не открывается. Проблема явно с авторизацией, т. к. если не указывать в коде логин и пасс, то появляется стандартное окошко авторизации. Но мне надо чтобы было всё автоматически.
Где не так делаю, подскажите пожалуйстаsmile

Автор: Kasiro 5.8.2011, 10:43
ну неужели никто не сталкивался?

Автор: asmdzen 5.8.2011, 12:53
может стоит заменить "username" и "password" на "anonymous"? может помочь.
т.е. посмотри какой логин/пароль браузер передает.

Автор: Kasiro 5.8.2011, 13:48
спасибо, щас попробую)

Автор: Kasiro 6.8.2011, 13:20
неа, непомогло.

решил пускать трафик через widecap пока не пойму где накосячил

Автор: volatile 6.8.2011, 13:52
Цитата(Kasiro @  4.8.2011,  12:56 Найти цитируемый пост)
char *user="username";
char *pass="password";
UrlMkSetSessionOption(INTERNET_OPTION_PROXY_USERNAME, user, sizeof(user), 0);
UrlMkSetSessionOption(INTERNET_OPTION_PROXY_PASSWORD, pass, sizeof(pass), 0);

Походу, здесь бред.
sizeof(user) - это не длина пароля, а размер указателя, т.е sizeof(user) = 4 (в 32-разрядных ОС).
вам нужно заменить на strlen(user); strlen(pass);


Автор: Kasiro 8.8.2011, 13:01
STDAPI UrlMkSetSessionOption(DWORD dwOption, __in_bcount_opt(dwBufferLength) LPVOID pBuffer, DWORD dwBufferLength, __reserved DWORD dwReserved);
Определение функции, я так понял в неё как раз надо передавать размер указателя...

щас попробую ваш вариант, отпишу что получилось

Автор: volatile 8.8.2011, 13:37
Цитата(Kasiro @  8.8.2011,  13:01 Найти цитируемый пост)
Определение функции, я так понял в неё как раз надо передавать размер указателя...

Цитата(Kasiro @  8.8.2011,  13:01 Найти цитируемый пост)
 DWORD dwBufferLength

В неё как раз надо передавать размер буфера.


Автор: Kasiro 10.8.2011, 21:16
volatile, результат такой же, не пашет

Добавлено через 56 секунд
ну в принципе я нашёл способ, просто на серве который раздаёт прокси, прописываешь свой ип, и логин пасс не запрашивается

но конечно рабочий вариант хотелось бы увидеть, чисто для себя уже)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)