记录HttpWebRequest辅助类-阿里云开发者社区

开发者社区> 开发与运维> 正文

记录HttpWebRequest辅助类

简介: 最近因为工作关系,需要通过HttpWebRequest去请求API,所有就写了个简单的辅助public sealed class HttpRequestHelper { private static string USER_AGENT = "Mozilla/5.

最近因为工作关系,需要通过HttpWebRequest去请求API,所有就写了个简单的辅助public sealed class HttpRequestHelper

    {
        private static string USER_AGENT = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36";
        private static string ACCEPT = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8";
        private static string CONTENT_TYPE = "application/x-www-form-urlencoded; encoding=UTF-8";
/// <summary> /// 单例 /// </summary> private static volatile HttpRequestHelper instance; private static object syncRoot = new object(); private HttpRequestHelper() { } public static HttpRequestHelper Instance { get { if (instance == null) { lock (syncRoot) { if (instance == null) { instance = new HttpRequestHelper(); } } } return instance; } } /// <summary> /// Get请求 /// </summary> /// <param name="queryString">url参数</param> /// <returns>json格式结果</returns> public string Get(string URL) { string ret = string.Empty; URL = URL.Replace("ACCESS_TOKEN", WxTokenHelper.Instance.Token); var request = CreateRequest("GET", URL); var response = request.GetResponse(); Stream responseStream = response.GetResponseStream(); StreamReader readStream = new StreamReader(responseStream, Encoding.UTF8); ret = readStream.ReadToEnd(); readStream.Close(); return ret; } public string GetToken(string URL) { string ret = string.Empty; var request = CreateRequest("GET", URL); var response = request.GetResponse(); Stream responseStream = response.GetResponseStream(); StreamReader readStream = new StreamReader(responseStream, Encoding.UTF8); ret = readStream.ReadToEnd(); readStream.Close(); return ret; } /// <summary> /// Post请求 /// </summary> /// <param name="URL">请求的URL</param> /// <param name="jsonData">json格式参数</param> /// <returns>json格式结果</returns> public string Post(string URL, string jsonData) { string ret = string.Empty; URL = URL.Replace("ACCESS_TOKEN", WxTokenHelper.Instance.Token); var request = CreateRequest("POST", URL); if (!string.IsNullOrWhiteSpace(jsonData)) { byte[] data = Encoding.UTF8.GetBytes(jsonData); request.ContentLength = data.Length; using (var requestStream = request.GetRequestStream()) { requestStream.Write(data, 0, data.Length); }; var response = request.GetResponse() as HttpWebResponse; using (var responseStream = response.GetResponseStream()) { using (var readStream = new StreamReader(responseStream, Encoding.UTF8)) { ret = readStream.ReadToEnd(); } } } return ret; } private HttpWebRequest CreateRequest(string method, string URL) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL); request.Accept = ACCEPT; request.UserAgent = USER_AGENT; request.Method = method; request.ContentType = CONTENT_TYPE;
     request.Proxy = null;
return request; } }

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章