现在的位置: 首页 > 综合 > 正文

HttpWebRequest 模拟Http请求

2014年12月05日 ⁄ 综合 ⁄ 共 1577字 ⁄ 字号 评论关闭

在项目中我们往往要模拟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;

抱歉!评论已关闭.