Beispiel #1
0
        /// <summary>
        /// 根据 <paramref name="url"/> 发送 POST 请求获取响应的文本。
        /// </summary>
        /// <param name="url">要请求的 url 地址。</param>
        /// <param name="postData">要发送的数据。</param>
        /// <returns>服务器响应的文本。</returns>
        public string HttpPost(string url, HttpPostDataDictionary postData)
        {
            string boundary = string.Format("----{0}", DateTime.Now.Ticks.ToString("x"));
            MultipartFormDataContent formDataContent = new MultipartFormDataContent(boundary);

            foreach (var item in postData)
            {
                object value = item.Value.Value;
                switch (item.Value.Key)
                {
                case HttpPostDataType.Text:
                    formDataContent.Add(new StringContent(value.ToString()), item.Key);
                    break;

                case HttpPostDataType.FilePath:
                    throw new System.NotImplementedException();

                case HttpPostDataType.FileStream:
                    FileStream fileStream = (FileStream)value;
                    formDataContent.Add(new StreamContent(fileStream), item.Key, Path.GetFileName(fileStream.Name));
                    break;
                }
            }

            this.HttpPost(url, formDataContent);
            return(this.HttpResponseMessage.GetResultString());
        }
Beispiel #2
0
        /// <summary>
        /// 根据 <paramref name="url"/> 发送 POST 请求获取响应的文本。
        /// </summary>
        /// <param name="url">要请求的 url 地址。</param>
        /// <param name="postData">要发送的数据。</param>
        /// <returns>服务器响应的文本。</returns>
        public string HttpPost(string url, Dictionary <string, string> postData)
        {
            #region 参数校验

            if (postData == null)
            {
                throw new ObjectNullException(nameof(postData));
            }

            #endregion

            HttpPostDataDictionary dic = new HttpPostDataDictionary();
            foreach (var item in postData)
            {
                dic.AddText(item.Key, item.Value);
            }
            return(this.HttpPost(url, dic));
        }