zoukankan      html  css  js  c++  java
  • 使用 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; 
        }
     
     
     public string WebClientGet(string url)
            {
                var client = new WebClient();
                client.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");
                var stream = client.OpenRead(url);
                if (stream == null) return "";
                var reader = new StreamReader(stream, Encoding.Default);
                var result = reader.ReadToEnd();
                stream.Close();
                reader.Close();
                return result;
            }
  • 相关阅读:
    48. Rotate Image
    83. Remove Duplicates from Sorted List
    46. Permutations
    HTML5笔记
    18. 4Sum
    24. Swap Nodes in Pairs
    42. Trapping Rain Water
    Python modf() 函数
    Python min() 函数
    Python max() 函数
  • 原文地址:https://www.cnblogs.com/codeloves/p/2975474.html
Copyright © 2011-2022 走看看