亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

C# 實現HTTP不同方法的請求示例

標簽:
C#

1、不带参数的POST请求

public static string Post(string url)  
{  
    string result = "";  
    HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);  
    req.Method = "POST";  
    HttpWebResponse resp = (HttpWebResponse)req.GetResponse();  
    Stream stream = resp.GetResponseStream();  
    //获取内容  
    using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))  
    {  
        result = reader.ReadToEnd();  
    }  
    return result;  
}

2、带参数的POST请求


public static string Post(string url,Dictionary<string,string> dic)  
{  
    string result = "";  
    HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);  
    req.Method = "POST";  
    req.ContentType = "application/x-www-form-urlencoded";  
    #region 添加Post 参数  
    StringBuilder builder = new StringBuilder();  
    int i = 0;  
    foreach (var item in dic)  
    {  
        if (i > 0)  
            builder.Append("&");  
        builder.AppendFormat("{0}={1}", item.Key, item.Value);  
        i++;  
    }  
    byte[] data = Encoding.UTF8.GetBytes(builder.ToString());  
    req.ContentLength = data.Length;  
    using (Stream reqStream = req.GetRequestStream())  
    {  
        reqStream.Write(data, 0, data.Length);  
        reqStream.Close();  
    }  
    #endregion  
    HttpWebResponse resp = (HttpWebResponse)req.GetResponse();  
    Stream stream = resp.GetResponseStream();  
    //获取响应内容  
    using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))  
    {  
        result = reader.ReadToEnd();  
    }  
    return result;  
}

3、不带参数的GET请求

public static string Get(string url)  
{  
    string result = "";  
    HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);  
    HttpWebResponse resp = (HttpWebResponse)req.GetResponse();  
    Stream stream = resp.GetResponseStream();  
    try  
    {  
        //获取内容  
        using (StreamReader reader = new StreamReader(stream))  
        {  
            result = reader.ReadToEnd();  
        }  
    }  
    finally  
    {  
        stream.Close();  
    }  
    return result;  
}

4、带参数的GET请求

public static string Get(string url, Dictionary<string, string> dic)  
{  
    string result = "";  
    StringBuilder builder = new StringBuilder();  
    builder.Append(url);  
    if (dic.Count > 0)  
    {  
        builder.Append("?");  
        int i = 0;  
        foreach (var item in dic)  
        {  
            if (i > 0)  
                builder.Append("&");  
            builder.AppendFormat("{0}={1}", item.Key, item.Value);  
            i++;  
        }  
    }  
    HttpWebRequest req = (HttpWebRequest)WebRequest.Create(builder.ToString());  
    //添加参数  
    HttpWebResponse resp = (HttpWebResponse)req.GetResponse();  
    Stream stream = resp.GetResponseStream();  
    try  
    {  
        //获取内容  
        using (StreamReader reader = new StreamReader(stream))  
        {  
            result = reader.ReadToEnd();  
        }  
    }  
    finally  
    {  
        stream.Close();  
    }  
    return result;  
}

5、自定义HTTP请求头

HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);  
req.Method = "GET";  
req.Headers["Accept-Language"] = "zh-CN,zh;q=0.8";  
req.Referer = "https://www.baidu.com/";  
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();  
Stream stream = resp.GetResponseStream();  string result = "";  //注意,此处使用的编码是:gb2312  //using (StreamReader reader = new StreamReader(stream, Encoding.Default))  using (StreamReader reader = new StreamReader(stream, Encoding.GetEncoding("gb2312")))  
{  
    result = reader.ReadToEnd();  
}

原文出处

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消