C#怎么使用HttpClient来Post数据

 我来答
匿名用户
推荐于2016-02-16
展开全部
public static string PostRequest(string url, Encoding encoding, Dictionary<string, object> input = null)
{
    var request = WebRequest.Create(new Uri(url));
    request.Method = System.Net.WebRequestMethods.Http.Post;
    request.ContentType = "application/x-www-form-urlencoded";
    if (input != null)
    {
        var builder = new StringBuilder();
        foreach (var item in input)
        {
            var value = HttpUtility.UrlEncode(item.Value.ToString(), encoding);
                    builder.AppendFormat("{0}={1}&", item.Key, value);
                }
                var bytesForArray = encoding.GetBytes(builder.ToString());
                request.ContentLength = bytesForArray.Length;
                var stream = request.GetRequestStream();
                stream.Write(bytesForArray, 0, bytesForArray.Length);
                stream.Close();
            }
            var response = request.GetResponse();
            var list = new List<byte>();
            var buffer = new byte[1024];
            int len = 0;
            var rStream = response.GetResponseStream();
            while ((len = rStream.Read(buffer, 0, buffer.Length)) > 0)
            {
                list.AddRange(buffer.Take(len));
            }
            response.Close();
            return encoding.GetString(list.ToArray());
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式