C# http get與post要求方法

來源:互聯網
上載者:User

標籤:style   blog   http   io   ar   color   os   使用   sp   

using System;using System.Data;using System.Configuration;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Xml.Linq;using System.Net;using System.IO;using System.Text;using System.Collections.Generic;namespace WebAppTest{    public class HttpTools    {        public static string GetRequest(string url)        {            HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);            request.Method = "get";            HttpWebResponse response = (HttpWebResponse)request.GetResponse();            using(StreamReader sr = new StreamReader(response.GetResponseStream(),Encoding.UTF8))            {                string result = sr.ReadToEnd();                return result;            }        }        public static string PostRequest(string url,Dictionary<object,object> paramList)        {            HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);                       StringBuilder sb = new StringBuilder();            foreach (var item in paramList)            {                sb.Append(item.Key + "=" + item.Value + "&");            }                        //將參數拼為:"name=test&pwd=123" 這種字串格式 然後將字串轉為byte數組 最後將byte數組寫入請求流中            string paramData = sb.ToString().Trim(‘&‘);            byte[] data = System.Text.Encoding.UTF8.GetBytes(paramData);            //設定post方式            request.Method = "post";            //這句不能少  不難post請求 得不到對應的響應結果            request.ContentType = "application/x-www-form-urlencoded";            //佈建要求參數的長度            request.ContentLength = data.Length;            Stream stream = request.GetRequestStream();            stream.Write(data, 0, data.Length);            stream.Close();            /**             * *****************注意事項********************             *              * 不管是get還是post請求最後得到的響應流不能直接stream              * 不難得不到響應結果             *              *              * 直接使用Stream 不能擷取響應的結果值             *              * 要使用StreamReader才能擷取響應的結果值             *              * Stream stream = response.GetResponseStream();             *              * byte[] data = new byte[2*1024*1024]             *              * int r = stream.Read(data,0,data.Length);             *              * string result = System.Text.Encoding.UTF8.GetString(data, 0, r);             *              *                     * **/            HttpWebResponse response = (HttpWebResponse)request.GetResponse();            using(StreamReader sr = new StreamReader(response.GetResponseStream(),Encoding.UTF8))            {                string result = sr.ReadToEnd();                return result;                            }                    }    }}

 

C# http get與post要求方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.