c# 键值对的方式post提交

房东的猫 提交于 2020-02-18 20:35:20

DataContractJsonSerializer jsQcData = new DataContractJsonSerializer(typeof(DATA<data>));//DATA<data>要转换成json的值
MemoryStream msObj = new MemoryStream();
jsQcData.WriteObject(msObj, devQcData);
msObj.Position = 0;
//从0这个位置开始读取流中的数据
StreamReader Stream = new StreamReader(msObj, Encoding.UTF8);
string strQcJson = Stream.ReadToEnd();
qcStream.Close();
msObj.Close();

Dictionary<string, string> dic = new Dictionary<string, string>();//以键值对方式post提交
dic .Add("keyname", value);//value=strQcJson ;
string str = Post(path, dic );

 

/// <summary>
/// 指定Post地址使用Get 方式获取全部字符串
/// </summary>
/// <param name="url">请求后台地址</param>
/// <returns></returns>
public static string Post(string url, Dictionary<string, string> dic)
{
string result = "";
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
#region 添加Post 参数
StringBuilder builder = new StringBuilder();
int i = 0;
foreach (var item in dic)
{
if (i > 0)
builder.Append("&");
builder.AppendFormat("{0}={1}", item.Key, item.Value);
i++;
}
byte[] data = Encoding.UTF8.GetBytes(builder.ToString());
req.ContentLength = data.Length;
using (Stream reqStream = req.GetRequestStream())
{
reqStream.Write(data, 0, data.Length);
reqStream.Close();
}
#endregion
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
Stream stream = resp.GetResponseStream();
//获取响应内容
using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
{
result = reader.ReadToEnd();
}
return result;
}

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!