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時的響應正文
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.