public string PostHttp(string url, IDictionary<string, string> parameters)
{
HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;//创建请求对象
request.Method = "POST";//请求方式
request.ContentType = "application/x-www-form-urlencoded;charset=utf8";//链接类型
//request.Timeout = 2 * 1000;//连接超时时间
//request.ReadWriteTimeout = 5 * 1000;//读取超时时间
request.UserAgent = "Code Sample Web Client";
//构造查询字符串
if (!(parameters == null || parameters.Count == 0))
{
StringBuilder buffer = new StringBuilder();
bool first = true;
foreach (string key in parameters.Keys)
{
if (!first)
{
//中文传参时接口会报错,加密下传输未发现问题
buffer.AppendFormat("&{0}={1}", key, HttpUtility.UrlEncode(parameters[key]));
}
else
{
buffer.AppendFormat("{0}={1}", key, HttpUtility.UrlEncode(parameters[key]));
first = false;
}
}
byte[] data = Encoding.UTF8.GetBytes(buffer.ToString());
request.ContentLength = data.Length;
//写入请求流
using (Stream stream = request.GetRequestStream())
{
stream.Write(data, 0, data.Length);
}
}
try {
using (HttpWebResponse reponse = (HttpWebResponse)request.GetResponse())
{
using (Stream s = reponse.GetResponseStream())
{
StreamReader reader = new StreamReader(s, Encoding.UTF8);
return reader.ReadToEnd();
}
}
}
catch (WebException ex)
{
HttpWebResponse response = (HttpWebResponse)ex.Response;
using (Stream s = response.GetResponseStream())
{
StreamReader reader = new StreamReader(s, Encoding.UTF8);
return reader.ReadToEnd();
}
}
}
post请求及返回403时的响应正文
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.