在项目中我们往往要模拟Http请求一下是一个。net form程序模拟http请求
string GetResponse(string url, params string[] parameters)
{
WebClient client = new WebClient();
string returnvalue = string.Empty;
try
{
HttpWebRequest hwr = (HttpWebRequest)HttpWebRequest.Create(url);
hwr.Timeout = 360000;
hwr.Method = "POST";
//获取登录用户的Session 具体会有所改动
hwr.Headers.Add("Cookie", "JSESSIONID=C2D2336D0EDFFB0502D2A1D90DB8EE39");
if (parameters!=null)
{
using (Stream reqStream = hwr.GetRequestStream())
{
foreach (string parameter in parameters)
{
reqStream.Write(Encoding.GetEncoding("GB2312").GetBytes(parameter), 0, Encoding.GetEncoding("GB2312").GetBytes(parameter).Length);
}
}
}
HttpWebResponse wr = (HttpWebResponse)hwr.GetResponse();
using (Stream sr = wr.GetResponseStream())
{
StreamReader reader = new StreamReader(sr, Encoding.GetEncoding("GB2312"));
returnvalue = reader.ReadToEnd();
}
}
catch (Exception exception)
{
MessageBox.Show(exception.Message);
}
return returnvalue;
}
使用
string requestBody = "model.ringid=852300007566";
string str = GetResponse("http://61.138.203.62:8080/systemportal/ring/basic/ringfile_update_init.action", requestBody);
webBrowser1.DocumentText = str;