public static string postHttp(string url, IDictionary<string, string> datas, int timeout)
{
string result = "";
if (url == null || url == "" || datas == null)
{
return result;
}
List<string> arrDatas = new List<string>();
foreach (var item in datas)
{
arrDatas.Add(item.Key + "=" + HttpUtility.UrlEncode(item.Value));
}
string postDatas = string.Join("&", arrDatas.ToArray());
HttpWebRequest request = null;
HttpWebResponse response = null;
Stream writer = null;
StreamReader myReader = null;
try
{
request = (HttpWebRequest)WebRequest.Create(url);
request.Timeout = timeout;
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
byte[] postDatasBytes = System.Text.Encoding.UTF8.GetBytes(postDatas);
request.ContentLength = postDatasBytes.Length;
writer = request.GetRequestStream();
writer.Write(postDatasBytes, 0, postDatasBytes.Length);
response = (HttpWebResponse)request.GetResponse();
myReader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
result = myReader.ReadToEnd();
}
catch (WebException e)
{
Debug.WriteLine("timeout:\n" + e.ToString());
}
catch (Exception e)
{
Debug.WriteLine("other excption:" + e.ToString());
}
finally
{
if (writer != null)
{
writer.Close();
writer = null;
}
if (myReader != null)
{
myReader.Close();
myReader = null;
}
if (request != null)
{
request.Abort();
request = null;
}
if (response != null)
{
response.Close();
response = null;
}
}
return result;
}