Esempio n. 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="url">url地址</param>
        public Url(string url)
        {
            if (string.IsNullOrEmpty(url))
            {
                throw new BusinessException("url is not empty", HttpStatus.Err.Id);
            }
            var uri = new Uri(url);

            Host         = uri.Host;
            RequestUrl   = url.Split('?')[0].Trim();
            UrlParameter = new UrlParameter(uri.Query);
        }
Esempio n. 2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="url">url地址</param>
        /// <param name="isUseHttps">是否是https,默认自动识别</param>
        public Url(string url, bool?isUseHttps)
        {
            if (string.IsNullOrEmpty(url))
            {
                throw new BusinessException("url is not empty", HttpStatus.Err.Id);
            }
            var uri = new Uri(url);

            Host = uri.Host;
            if (isUseHttps == null)
            {
                Scheme = uri.Scheme;
                if (!(Scheme.Equals("http", StringComparison.CurrentCultureIgnoreCase) ||
                      Scheme.Equals("https", StringComparison.CurrentCultureIgnoreCase)))
                {
                    Scheme = "http";
                }

                IsHttps = Scheme.Equals("https", StringComparison.CurrentCultureIgnoreCase);
            }
            else
            {
                IsHttps = isUseHttps.Value;
                Scheme  = IsHttps ? "https" : "http";
            }

            RequestUrl = url.Split('?')[0].Trim();
            RequestUrl = FormatUrl(RequestUrl, IsHttps);
            if (url.Split('?').Length > 1)
            {
                UrlParameter = new UrlParameter(url.Split('?')[1].Trim());
            }
            else
            {
                UrlParameter = new UrlParameter();
            }
        }
Esempio n. 3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="url">完整的url地址</param>
        /// <param name="isUseHttps">是否是https,默认自动识别</param>
        public Url(string url, bool?isUseHttps)
        {
            if (string.IsNullOrEmpty(url))
            {
                throw new BusinessException("url is not empty", HttpStatus.Err.Id);
            }
            var uri = new Uri(url);

            Host         = uri.Host;
            Scheme       = uri.Scheme.ToLowers();
            IsHttps      = isUseHttps ?? Scheme.Equals("https", StringComparison.CurrentCultureIgnoreCase);
            PathAndQuery = uri.PathAndQuery;
            Path         = PathAndQuery.Split('?')[0].Trim();
            RequestUrl   = url.Split('?')[0].Trim();
            RequestUrl   = FormatUrl(RequestUrl, IsHttps);
            if (url.Split('?').Length > 1)
            {
                UrlParameter = new UrlParameter(url.Split('?')[1].Trim());
            }
            else
            {
                UrlParameter = new UrlParameter();
            }
        }
Esempio n. 4
0
 /// <summary>
 /// 得到请求参数
 /// 格式:参数1=参数值&参数2=参数值
 /// </summary>
 /// <param name="isSort">是否排序</param>
 /// <param name="isUrlEncode">是否url编码</param>
 /// <param name="encoding">编码格式,默认UTF8</param>
 /// <returns></returns>
 public string GetQueryResult(bool isSort = false, bool isUrlEncode = false, Encoding encoding = null)
 {
     return(UrlParameter.GetQueryResult(isSort, isUrlEncode, encoding));
 }