SetProxy() public static method

public static SetProxy ( HttpConnection pType, string host, int port, string username, string password ) : void
pType HttpConnection
host string
port int
username string
password string
return void
Esempio n. 1
0
        ///<summary>
        ///通信クラスの初期化処理。タイムアウト値とプロキシを設定する
        ///</summary>
        ///<remarks>
        ///通信開始前に最低一度呼び出すこと
        ///</remarks>
        ///<param name="timeout">タイムアウト値(秒)</param>
        ///<param name="proxyType">なし・指定・IEデフォルト</param>
        ///<param name="proxyAddress">プロキシのホスト名orIPアドレス</param>
        ///<param name="proxyPort">プロキシのポート番号</param>
        ///<param name="proxyUser">プロキシ認証が必要な場合のユーザ名。不要なら空文字</param>
        ///<param name="proxyPassword">プロキシ認証が必要な場合のパスワード。不要なら空文字</param>
        public static void InitializeConnection(
            int timeout,
            ProxyType proxyType,
            string proxyAddress,
            int proxyPort,
            string proxyUser,
            string proxyPassword)
        {
            isInitialize = true;
            ServicePointManager.Expect100Continue = false;
            DefaultTimeout = timeout * 1000;     //s -> ms
            switch (proxyType)
            {
            case ProxyType.None:
                proxy = null;
                break;

            case ProxyType.Specified:
                proxy = new WebProxy("http://" + proxyAddress + ":" + proxyPort);
                if (!String.IsNullOrEmpty(proxyUser) || !String.IsNullOrEmpty(proxyPassword))
                {
                    proxy.Credentials = new NetworkCredential(proxyUser, proxyPassword);
                }
                break;

            case ProxyType.IE:
                //IE設定(システム設定)はデフォルト値なので処理しない
                break;
            }
            proxyKind = proxyType;

            Win32Api.SetProxy(proxyType, proxyAddress, proxyPort, proxyUser, proxyPassword);
        }
Esempio n. 2
0
        ///<summary>
        ///通信クラスの初期化処理。タイムアウト値とプロキシを設定する
        ///</summary>
        ///<remarks>
        ///通信開始前に最低一度呼び出すこと
        ///</remarks>
        ///<param name="timeout">タイムアウト値(秒)</param>
        ///<param name="proxyType">なし・指定・IEデフォルト</param>
        ///<param name="proxyAddress">プロキシのホスト名orIPアドレス</param>
        ///<param name="proxyPort">プロキシのポート番号</param>
        ///<param name="proxyUser">プロキシ認証が必要な場合のユーザ名。不要なら空文字</param>
        ///<param name="proxyPassword">プロキシ認証が必要な場合のパスワード。不要なら空文字</param>
        public static void InitializeConnection(
            int timeout,
            ProxyType proxyType,
            string proxyAddress,
            int proxyPort,
            string proxyUser,
            string proxyPassword)
        {
            isInitialize = true;
            ServicePointManager.Expect100Continue = false;
            DefaultTimeout = timeout * 1000;     //s -> ms
            switch (proxyType)
            {
            case ProxyType.None:
                proxy = null;
                break;

            case ProxyType.Specified:
                proxy = new WebProxy("http://" + proxyAddress + ":" + proxyPort);
                if (!String.IsNullOrEmpty(proxyUser) || !String.IsNullOrEmpty(proxyPassword))
                {
                    proxy.Credentials = new NetworkCredential(proxyUser, proxyPassword);
                }
                break;

            case ProxyType.IE:
                //IE設定(システム設定)はデフォルト値なので処理しない
                break;
            }
            proxyKind = proxyType;

            // Windows 8.1の場合SecurityProtocolを明確に指定する必要がある
            var osVersion = Environment.OSVersion.Version;

            if (osVersion.Major == 6 && osVersion.Minor == 2)
            {
                ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
            }

            Win32Api.SetProxy(proxyType, proxyAddress, proxyPort, proxyUser, proxyPassword);
        }