/// <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()); }
/// <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)); }