代码改变世界

向远程服务器发送数据

2020-07-26 10:48  idea555  阅读(174)  评论(0)    收藏  举报

public static string PostTo(string url, string content, string codeName = "UTF-8")
{
Encoding encoding = Encoding.GetEncoding(codeName);
HttpWebRequest request = null;
HttpWebResponse response = null;
StreamReader reader = null;

request = (HttpWebRequest)WebRequest.Create(url);
request.Timeout = 20000;
request.AllowAutoRedirect = false;

//post的方式请求
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";

//content格式:account=userName&password=pwd
byte[] byte1 = encoding.GetBytes(content);
request.ContentLength = byte1.Length;

Stream newStream = request.GetRequestStream();
newStream.Write(byte1, 0, byte1.Length);
newStream.Close();


response = (HttpWebResponse)request.GetResponse();
if (response.StatusCode == HttpStatusCode.OK && response.ContentLength < 1024 * 1024)
{
if (response.ContentEncoding != null && response.ContentEncoding.Equals("gzip", StringComparison.InvariantCultureIgnoreCase))
reader = new StreamReader(new GZipStream(response.GetResponseStream(), CompressionMode.Decompress), encoding);
else
reader = new StreamReader(response.GetResponseStream(), encoding);
string html = reader.ReadToEnd();
return html;
}
return string.Empty;
}