一、带data参数传递:
string result = "";
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(urlApi + url);
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
//验证服务器证书回调自动验证 ****关键****
ServicePointManager.ServerCertificateValidationCallback = CheckValidationResult;
dataStr = JsonConvert.SerializeObject(dic);//要发送的数据转json格式
byte[] data = Encoding.UTF8.GetBytes("data=" + dataStr);
req.ContentLength = data.Length;
req.KeepAlive = false;
req.ProtocolVersion = HttpVersion.Version10;
using (Stream reqStream = req.GetRequestStream())
{
reqStream.Write(data, 0, data.Length);
reqStream.Close();
}
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
resp.Cookies = cookie.GetCookies(resp.ResponseUri);
Stream myResponseStream = resp.GetResponseStream();
StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
result = myStreamReader.ReadToEnd(); //获取响应内容
myStreamReader.Close();
myResponseStream.Close();
LogHelper.ApiSend("接收Api返回:" + result);
return result;
二、经常使用到的方法体:
/// <summary>
/// 返回JSon数据
/// </summary>
/// <param name="JSONData">要处理的JSON数据</param>
/// <returns>返回的JSON处理字符串</returns>
public static string HttpPostPush(string JSONData)
{
string strResult = "";
try
{
System.Net.ServicePointManager.DefaultConnectionLimit = 50;
byte[] bytes = Encoding.UTF8.GetBytes(JSONData);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(SystemParameterConfig.Push_Url);
request.Method = "POST";
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
//request.ContentLength = bytes.Length;
request.ContentType = "text/xml;charset=UTF-8";
request.KeepAlive = false;
request.ProtocolVersion = HttpVersion.Version11;
Stream reqstream = request.GetRequestStream();
reqstream.Write(bytes, 0, bytes.Length);
//request.Timeout = 10000;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream streamReceive = response.GetResponseStream();
Encoding encoding = Encoding.UTF8;
StreamReader streamReader = new StreamReader(streamReceive, encoding);
strResult = streamReader.ReadToEnd();
streamReceive.Dispose();
streamReader.Dispose();
}
catch (Exception e)
{
LogHelper.Error(e.Message);
}
finally
{
}
return strResult;
}
三、上传文件数据
http://blog.csdn.net/xxj_jing/article/details/50221113
四、参考博客:https://www.cnblogs.com/webenh/p/5775543.html