程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> HttpRequest Get和Post調用其他頁面的方法

HttpRequest Get和Post調用其他頁面的方法

編輯:ASP.NET基礎

復制代碼 代碼如下:
  //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;
        }

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved