C#使用GET、POST请求获取结果 (二)

C#使用GET、POST请求获取结果。

创建HttpWebHelper.cs类

public class HttpWebHelper
{
    #region Post方式请求

    public static T Post<T>(string url, string data, Dictionary<string, string> Headers = null)
    {
        byte[] bytes = Encoding.UTF8.GetBytes(data);
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);

        //加入头信息
        if (Headers != null)
        {
            foreach (KeyValuePair<string, string> item in Headers)
            {
                request.Headers.Add(item.Key, item.Value);
            }
        }

        //写数据
        request.Method = "POST";
        request.ContentLength = bytes.Length;
        request.ContentType = "application/json";
        Stream reqstream = request.GetRequestStream();
        reqstream.Write(bytes, 0, bytes.Length);

        //读数据
        request.Timeout = 300000;
        request.Headers.Set("Pragma", "no-cache");
        HttpWebResponse response = (HttpWebResponse)request.GetResponse();
        Stream streamReceive = response.GetResponseStream();
        StreamReader streamReader = new StreamReader(streamReceive, Encoding.UTF8);
        string strResult = streamReader.ReadToEnd();

        //关闭流
        reqstream.Close();
        streamReader.Close();
        streamReceive.Close();
        request.Abort();
        response.Close();

        return JsonConvert.DeserializeObject<T>(strResult);
    }

    #endregion

    #region Get方式请求

    public static T Get<T>(string url, Dictionary<string, string> Headers = null)
    {
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);

        //加入头信息
        if (Headers != null)
        {
            foreach (KeyValuePair<string, string> item in Headers)
            {
                request.Headers.Add(item.Key, item.Value);
            }
        }

        request.Method = "GET";
        request.ContentType = "application/json";
        request.Timeout = 300000;
        request.Headers.Set("Pragma", "no-cache");
        HttpWebResponse response = (HttpWebResponse)request.GetResponse();
        Stream streamReceive = response.GetResponseStream();
        StreamReader streamReader = new StreamReader(streamReceive, Encoding.UTF8);
        string strResult = streamReader.ReadToEnd();

        streamReader.Close();
        streamReceive.Close();
        request.Abort();
        response.Close();

        return JsonConvert.DeserializeObject<T>(strResult);
    }

    public static string Get(string url, Dictionary<string, string> Headers = null)
    {
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);

        //加入头信息
        if (Headers != null)
        {
            foreach (KeyValuePair<string, string> item in Headers)
            {
                request.Headers.Add(item.Key, item.Value);
            }
        }

        request.Method = "GET";
        request.ContentType = "application/json";
        request.Timeout = 300000;
        request.Headers.Set("Pragma", "no-cache");
        HttpWebResponse response = (HttpWebResponse)request.GetResponse();
        Stream streamReceive = response.GetResponseStream();
        StreamReader streamReader = new StreamReader(streamReceive, Encoding.UTF8);
        string strResult = streamReader.ReadToEnd();

        streamReader.Close();
        streamReceive.Close();
        request.Abort();
        response.Close();

        return strResult;
    }
    #endregion

    #region 获取时间戳
    /// <summary>  
    /// 获取时间戳  
    /// </summary>  
    /// <returns></returns>  
    public static string GetTimeStamp()
    {
        TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);
        return Convert.ToInt64(ts.TotalMilliseconds).ToString();
    }
    #endregion
}

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pan_junbiao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值