C\# webBrowser 프 록 시 사용 방법 winform

1792 단어
http://www.sufeinet.com/thread-2242-1-1.html
사실 C\# 에서 웹 브 라 우 저 를 사용 하 는 것 은 모두 가 알 고 있 을 것 입 니 다. 포럼 에 도 예전 의 예 가 많 습 니 다. 조회 해 보면 알 수 있 지만 브 라 우 저 를 직접 사용 하 는 것 처럼 대 리 를 설정 하 는 방법 은 많은 사람들 이 아직 모 르 고 있 을 것 입 니 다.이것 은 사실 Dll 파일 을 호출 하여 설정 한 것 입 니 다. 다음은 저 와 함께 보 시 죠. 먼저 구 조 를 만들어 야 합 니 다. 바로 대리 정보의 구조 체 는 다음 과 같 습 니 다.
/////대리 구조 체//public struct StructINTERNET_PROXY_INFO {public int dwAccessType; public IntPtr proxy;/IP 및 포트 번호 public IntPtr proxyBypass;};
다음은 어떻게 대리 의 구체 적 인 실현 을 설정 합 니까?
/////프 록 시 를 설정 하 는 Api/////[DllImport ("wininet. dll", SetLastError = true)] private static extern bool Internet SetOption (IntPtr hInternet, int dwOption, IntPtr lpBuffer, int lpdwBufferLength);
    /// <summary>
    ///   IP     
    /// </summary>
    /// <param name="strProxy"></param>
    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));
    }[

사용 할 때 도 굉장히 쉬 워 요.
RefreshIESettings(“41.129.53.227:80”); webBrowser1.Navigate(“http://www.sufeinet.com“);
이렇게 하면 돼.

좋은 웹페이지 즐겨찾기