HttpPost 发送json
private
string
HttpPost(
string
Url,
string
postDataStr)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
request.Method =
"POST"
;
request.ContentType =
"application/json"
;
//
request.ContentLength = Encoding.UTF8.GetByteCount(postDataStr);
Stream myRequestStream = request.GetRequestStream();
StreamWriter myStreamWriter =
new
StreamWriter(myRequestStream, Encoding.GetEncoding(
"gb2312"
));
myStreamWriter.Write(postDataStr);
myStreamWriter.Close();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream myResponseStream = response.GetResponseStream();
StreamReader myStreamReader =
new
StreamReader(myResponseStream, Encoding.GetEncoding(
"utf-8"
));
string
retString = myStreamReader.ReadToEnd();
myStreamReader.Close();
myResponseStream.Close();
return
retString;
}
HttpPost 发送XML
public static string HttpPost(string Url, string xml)
{
//HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url + "postDataStr={0}&Sign={1}&Timesp={2}&Non={3}");
//Sign = System.Web.HttpUtility.UrlEncode(Sign, System.Text.Encoding.UTF8);
//Timesp = System.Web.HttpUtility.UrlEncode(Timesp, System.Text.Encoding.UTF8);
//Non = System.Web.HttpUtility.UrlEncode(Non, System.Text.Encoding.UTF8);
//postStr = System.Web.HttpUtility.UrlEncode(postStr, System.Text.Encoding.UTF8);
//string postData = string.Format("postDataStr={0}&Sign={1}&Timesp={2}&Non={3}", postStr, Sign, Timesp, Non); // 要发放的数据
//byte[] byteArray = System.Text.Encoding.UTF8.GetBytes(postData);
//请求
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
request.Method = "POST";
request.ContentType = "application/xml";
request.Timeout = 200000;
//request.ContentLength = Encoding.UTF8.GetByteCount(xml); //实际发送字节数比GetByteCount字节数大,发送字节数不一致导致 myStreamWriter.Close();异常,所以注释掉
Stream myRequestStream = request.GetRequestStream();
StreamWriter myStreamWriter = new StreamWriter(myRequestStream, Encoding.GetEncoding("utf-8"));
myStreamWriter.Write(xml);
myStreamWriter.Close();
//读取
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream myResponseStream = response.GetResponseStream();
StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
string retString = myStreamReader.ReadToEnd();
myStreamReader.Close();
myResponseStream.Close();
return retString;
}