public static string GetRequest(HttpContext context, string url)
        {
            Access_TokenModel model   = Access_TokenDAL.GetAccessToken();
            HttpWebRequest    request = (HttpWebRequest)WebRequest.Create(url + model.access_token);

            request.Method = "Get";
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            Stream          stream   = response.GetResponseStream();
            StreamReader    reader   = new StreamReader(stream, Encoding.GetEncoding("utf-8"));
            string          str      = reader.ReadToEnd();

            return(str);
        }
Esempio n. 2
0
 public static Access_TokenModel GetAccessToken()
 {
     if (Access_Token == null || (Access_Token != null && (DateTime.Now - GetTime).Minutes > 7200))
     {
         string         url     = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + appid + "&secret=" + secret;
         HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
         request.Method = "Get";
         HttpWebResponse response = (HttpWebResponse)request.GetResponse();
         Stream          stream   = response.GetResponseStream();
         StreamReader    reader   = new StreamReader(stream, Encoding.GetEncoding("utf-8"));
         string          str      = reader.ReadToEnd();
         reader.Close();
         stream.Close();
         Access_Token = JsonConvert.DeserializeObject <Access_TokenModel>(str);
         GetTime      = DateTime.Now;
     }
     return(Access_Token);
 }
        public static string PostRequest(HttpContext context, string url, string data)
        {
            Access_TokenModel model   = Access_TokenDAL.GetAccessToken();
            HttpWebRequest    request = (HttpWebRequest)WebRequest.Create(url + model.access_token);

            request.Method = "POST";

            Stream postStream = request.GetRequestStream();

            byte[] postDataByte = Encoding.UTF8.GetBytes(data);
            postStream.Write(postDataByte, 0, postDataByte.Length);
            postStream.Dispose();

            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            Stream          stream   = response.GetResponseStream();
            StreamReader    reader   = new StreamReader(stream, Encoding.GetEncoding("utf-8"));
            string          str      = reader.ReadToEnd();

            return(str);
        }
        public static string Post_Media(HttpContext context, byte[] bArr, string fileName, string permanetOrTemp)
        {
            Access_TokenModel model   = Access_TokenDAL.GetAccessToken();
            string            url     = "https://api.weixin.qq.com/cgi-bin/" + permanetOrTemp + "?type=image&access_token=" + model.access_token;
            HttpWebRequest    request = WebRequest.Create(url) as HttpWebRequest;

            request.Method = "Post";
            string boundary = DateTime.Now.Ticks.ToString("-");

            request.ContentType = "multipart/form-data;charset=utf-8;boundary=" + boundary;

            byte[] itemBoundaryBytes = Encoding.UTF8.GetBytes("\r\n--" + boundary + "\r\n");
            byte[] endBoundaryBytes  = Encoding.UTF8.GetBytes("\r\n--" + boundary + "--\r\n");
            //请求头部信息
            StringBuilder sbHeader = new StringBuilder(string.Format("Content-Disposition:form-data;name=\"{1}\";filename=\"{0}\"\r\nContent-Type:application/octet-stream\r\n\r\n", fileName, permanetOrTemp.Contains("add_material") ? "media" : "file"));

            byte[] postHeaderBytes = Encoding.UTF8.GetBytes(sbHeader.ToString());

            Stream postStream = request.GetRequestStream();

            postStream.Write(itemBoundaryBytes, 0, itemBoundaryBytes.Length);
            postStream.Write(postHeaderBytes, 0, postHeaderBytes.Length);
            postStream.Write(bArr, 0, bArr.Length);
            postStream.Write(endBoundaryBytes, 0, endBoundaryBytes.Length);
            postStream.Close();

            //发送请求并获取相应回应数据
            HttpWebResponse response = request.GetResponse() as HttpWebResponse;
            //直到request.GetResponse()程序才开始向目标网页发送Post请求
            Stream       instream = response.GetResponseStream();
            StreamReader sr       = new StreamReader(instream, Encoding.UTF8);
            //返回结果网页(html)代码
            string content = sr.ReadToEnd();

            return(content);
        }