使用 HttpRequest Get和Post调用其他页面

昨天选课,虽然有一个排队系统。但是排队系统实在不怎么的啊。插队的有那么的多。有人做了插队工具下了一个看看,那是一个使用javascript实现的系统,整个只有一个页面。你可以在这里下载:/Files/lulu/xk.rar。它使用xmlHttpRequest向服务器发送请求。
js不太熟悉,发现HttpRequest功能差不多,用它试试啦。

但是不知道提交数据怎么组织,革命尚未成功但是还是学到了点东西,就在这了写下来了:


 

  //Get请求方式
    private string RequestGet(string Url)
   
{
       
string PageStr = string.Empty;//用于存放还回的html
        Uri url = new Uri(Url);//Uri类 提供统一资源标识符 (URI) 的对象表示形式和对 URI 各部分的轻松访问。就是处理url地址
        try
       
{
            HttpWebRequest httprequest
= (HttpWebRequest)WebRequest.Create(url);//根据url地址创建HTTpWebRequest对象
            #region 参数设置
            httprequest.Method
= "get";

           
//---------------------------------------------设定一些参数(不必要可以)
           
//httprequest.KeepAlive = false;//持久连接设置为false
           
//httprequest.ProtocolVersion = HttpVersion.Version11;// 网络协议的版本
           
//httprequest.Proxy = WebProxy.GetDefaultProxy();//服务器代理
           
//httprequest.ContentType = "application/x-www-form-urlencoded";//http 头
           
//httprequest.AllowAutoRedirect = true;
           
//httprequest.MaximumAutomaticRedirections = 10;
           
//httprequest.Timeout = 30000;//设定超时十秒(毫秒)
           
//httprequest.UserAgent = "mozilla/4.0 (compatible; msie 6.0; windows nt 5.1)"; //浏览器
           
//=================================================
            #endregion

            HttpWebResponse response
= (HttpWebResponse)httprequest.GetResponse();//使用HttpWebResponse获取请求的还回值
            Stream steam = response.GetResponseStream();//从还回对象中获取数据流
            StreamReader reader = new StreamReader(steam, Encoding.GetEncoding("gb2312"));//读取数据Encoding.GetEncoding("gb2312")指编码是gb2312,不让中文会乱码的
            PageStr = reader.ReadToEnd();
            reader.Close();
        }

       
catch (Exception e)
       
{
            PageStr
+= e.Message;
        }

       
return PageStr;
    }




//Post请求方式,于Get的方式写法相似,所以解释就些少一点了
 

  private string RequestPost(string Url,string Context)//两个参数分别是Url地址和Post过去的数据
    {
       
string PageStr=string.Empty;
        Uri url
= new Uri(Url);
       
byte[] reqbytes=Encoding.ASCII.GetBytes(Context);
       
try
       
{
            HttpWebRequest req
= (HttpWebRequest)WebRequest.Create(url);
            req.Method
= "post";
            req.ContentType
= "application/x-www-form-urlencoded";
            req.ContentLength
= reqbytes.Length;
            Stream stm
= req.GetRequestStream();
            stm.Write(reqbytes,
0, reqbytes.Length);
           
            stm.Close();
            HttpWebResponse wr
= (HttpWebResponse)req.GetResponse();
            Stream stream
= wr.GetResponseStream();
            StreamReader srd
= new StreamReader(stream,Encoding.GetEncoding("gb2312"));
            PageStr
+= srd.ReadToEnd();
            stream.Close();
            srd.Close();
        }

       
catch (Exception e)
       
{
            PageStr
+= e.Message;
        }

       
return PageStr;
    }
posted @ 2012-11-24 11:03  clown  阅读(711)  评论(0编辑  收藏  举报