Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Сети > SetProxy в CAtlHttpClient баг или нет?!


Автор: chaos 9.1.2008, 14:50
столкнулся с таким. Вызываю метод SetProxy без параметров у класса CAtlHttpClient но как-то работает не понятно как.
ИЕ открывает на ура(с утсновленными проксями), а вот данный класс нет.
начал рыться в сетпрокси  и наткнулся на такое


atlhttp.inl
Код

template<class TSocketClass>
inline bool CAtlHttpClientT<TSocketClass>::LookupRegProxy()
{
    // attempt to look it up from the registry
    CRegKey rkProxy;
    ULONG nChars = ATL_URL_MAX_URL_LENGTH+1;
    TCHAR szUrl[ATL_URL_MAX_URL_LENGTH+1] = { 0 };

    DWORD dwErr = rkProxy.Open(HKEY_CURRENT_USER, 
        _T("Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings"), KEY_READ);
    if (dwErr == ERROR_SUCCESS)
    {
        dwErr = rkProxy.QueryStringValue(_T("ProxyServer"), szUrl, &nChars);
    }
    if (dwErr == ERROR_SUCCESS)
    {
        CUrl url;
        if (url.CrackUrl(szUrl))
        {
            if (url.GetScheme()==ATL_URL_SCHEME_UNKNOWN)
            {
                // without the scheme name (e.g. proxy:80)
                m_strProxy = url.GetSchemeName();
                m_nProxyPort = (short)_ttoi(url.GetHostName());
                return true;
            }
            else if (url.GetHostName())
            {
                // with the scheme (e.g. http://proxy:80)
                m_strProxy = url.GetHostName();
                m_nProxyPort = url.GetPortNumber();
                return true;
            }
        }
    }
    return false;
}


что скажете по этому коусочку кода. я считаю что он не правельный. 
тк может быть в ProxyServer находится 
Код

ftp=192.168.39.254:3128;gopher=192.168.39.254:3128;http=192.168.39.254:3128;https=192.168.39.254:3128


в инете инфы по этому пофоду не нашел. как быть?

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