微信公众平台开发:Web代理功能

高洛峰
高洛峰 原创
2017-02-27 13:47:23 1847浏览

在Senparc.Weixin.dll v4.5.7版本开始,我们提供了Web代理功能,以方便在受限制的局域网内的应用可以顺利调用接口。

有关的修改都在Senparc.Weixin/Utilities/HttpUtility/RequestUtility.cs:

#region 代理

        private static WebProxy _webproxy = null;

        /// <summary>
        /// 设置Web代理
        /// </summary>
        /// <param name="host"></param>
        /// <param name="port"></param>
        /// <param name="username"></param>
        /// <param name="password"></param>
        public static void SetHttpProxy(string host, string port, string username, string password)
        {
            ICredentials cred;
            cred = new NetworkCredential(username, password);
            if (!string.IsNullOrEmpty(host))
            {
                _webproxy = new WebProxy(host + ":" + port ?? "80", true, null, cred);
            }
        }

        /// <summary>
        /// 清除Web代理状态
        /// </summary>
        public static void RemoveHttpProxy()
        {
            _webproxy = null;
        }

        #endregion

使用方法如下:

1、在调用接口之前进行代理消息设置(全局只需一次):

//设置
RequestUtility.SetHttpProxy("http://192.168.1.130","8088","username","pwd");

2、正常调用接口方法,此代理参数将会被自动应用。

当需要清除代理状态时,全局执行RemoveHttpProxy()方法:

//清除
RequestUtility.RemoveHttpProxy();


更多微信公众平台开发:Web代理功能相关文章请关注PHP中文网!


声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。