Exemple #1
0
        public bool GetAutoProxyForUrl(string sUrl, out IPEndPoint ipepResult)
        {
            WinHTTPNative.WINHTTP_PROXY_INFO winhttp_proxy_info;
            int  num  = 0;
            bool flag = WinHTTPNative.WinHttpGetProxyForUrl(this._hSession, sUrl, ref this._oAPO, out winhttp_proxy_info);

            if (!flag)
            {
                num = Marshal.GetLastWin32Error();
            }
            if (flag)
            {
                if (IntPtr.Zero != winhttp_proxy_info.lpszProxy)
                {
                    string sHostAndPort = Marshal.PtrToStringUni(winhttp_proxy_info.lpszProxy);
                    ipepResult = Utilities.IPEndPointFromHostPortString(sHostAndPort);
                }
                else
                {
                    ipepResult = null;
                }
                Utilities.GlobalFreeIfNonZero(winhttp_proxy_info.lpszProxy);
                Utilities.GlobalFreeIfNonZero(winhttp_proxy_info.lpszProxyBypass);
                return(true);
            }
            //Label_013E:
            Utilities.GlobalFreeIfNonZero(winhttp_proxy_info.lpszProxy);
            Utilities.GlobalFreeIfNonZero(winhttp_proxy_info.lpszProxyBypass);
            ipepResult = null;
            return(false);
        }