WebBrower使用 Http 代理访问网页

public struct Struct_INTERNET_PROXY_INFO 

        { 

            public int dwAccessType; 

            public IntPtr proxy; 

            public IntPtr proxyBypass; 

        }; 

        [DllImport("wininet.dll", SetLastError = true)] 

        private static extern bool InternetSetOption(IntPtr hInternet, int dwOption, IntPtr lpBuffer, int lpdwBufferLength);

        private void RefreshIESettings(string strProxy) 

        { 

        const int INTERNET_OPTION_PROXY = 38; 

        const int INTERNET_OPEN_TYPE_PROXY = 3; 



        Struct_INTERNET_PROXY_INFO struct_IPI; 



        // Filling in structure 

        struct_IPI.dwAccessType = INTERNET_OPEN_TYPE_PROXY; 

        struct_IPI.proxy = Marshal.StringToHGlobalAnsi(strProxy); 

        struct_IPI.proxyBypass = Marshal.StringToHGlobalAnsi("local"); 



        // Allocating memory 

        IntPtr intptrStruct = Marshal.AllocCoTaskMem(Marshal.SizeOf(struct_IPI)); 



        // Converting structure to IntPtr 

        Marshal.StructureToPtr(struct_IPI, intptrStruct, true); 



        bool iReturn = InternetSetOption(IntPtr.Zero, INTERNET_OPTION_PROXY, intptrStruct, Marshal.SizeOf(struct_IPI)); 

        } 



        private void SomeFunc(string _ipAdd,string _url) 

        {

            RefreshIESettings(_ipAdd);

            System.Object nullObject = 0;

            string strTemp = String.Empty;

            System.Object nullObjStr = strTemp;

            //webBrowser1.Navigate("http://www.7y8.com/V/ip.asp", null, null, null); 

            webBrowser1.Navigate(_url, null, null, null);

            while (webBrowser1.ReadyState!=WebBrowserReadyState.Complete)

            {

                Application.DoEvents();

                System.Threading.Thread.Sleep(100);

            }

        }

  PS:不知道从哪找来的了。

你可能感兴趣的:(http)