/// <summary> /// /// </summary> /// <returns></returns> [HttpGet] public HttpResponseMessage Getvoid() { HttpResponseMessage resp = new HttpResponseMessage(); dynamic ObjJson = new ExpandoObject(); try { string FAwemeId = HttpContext.Current.Request["FAwemeId"]; if (string.IsNullOrEmpty(FAwemeId)) { ObjJson.state = true; ObjJson.msg = "FAwemeId不可为空"; ObjJson.code = 500; resp.Content = new StringContent(JsonConvert.SerializeObject(ObjJson), System.Text.Encoding.UTF8, "application/json"); return resp; } else { //模拟请求 //这是现在打开的数据 //string url = ""; //换取内容 string dizhi = ""; string url = ; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream myResponseStream = response.GetResponseStream(); StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8")); //获取到JSON string Responsestring = myStreamReader.ReadToEnd(); myStreamReader.Close(); myResponseStream.Close(); JObject ResponsetData = (JObject)JsonConvert.DeserializeObject(Responsestring); //这里注意是否全部为单值 需要对 2个0 做长度判断 string UrlPlay = ResponsetData["item_list"][0]["video"]["play_addr"]["url_list"][0].ToString(); //模拟请求视频 HttpWebRequest requestUrl = (HttpWebRequest)WebRequest.Create(UrlPlay); HttpWebResponse responseUrl = (HttpWebResponse)requestUrl.GetResponse(); //Stream myResponseStreamUrl = responseUrl.GetResponseStream(); ////StreamReader myStreamReaderUrl = new StreamReader(myResponseStreamUrl, Encoding.GetEncoding("utf-8")); //////获取到JSON ////string ResponsestringUrl = myStreamReaderUrl.ReadToEnd(); ////myStreamReaderUrl.Close(); //myResponseStreamUrl.Close(); string urlRe = responseUrl.ResponseUri.ToString(); //模拟请求视频 HttpWebRequest requesturlRe = (HttpWebRequest)WebRequest.Create(urlRe); HttpWebResponse responseurlRe = (HttpWebResponse)requesturlRe.GetResponse(); Stream myResponseStreamUrl = responseurlRe.GetResponseStream(); resp.Content = new StreamContent(myResponseStreamUrl); ////resp.Content = new System.Net.Http.PushStreamContent(send, new System.Net.Http.Headers.MediaTypeHeaderValue("video/mp4")); //var video = new VideoStream(UrlPlay); //Action<Stream, HttpContent, TransportContext> send = video.WriteToStream; //var response1 = Request.CreateResponse(); //response1.Content = new System.Net.Http.PushStreamContent(send, new System.Net.Http.Headers.MediaTypeHeaderValue("video/mp4")); ////调用异步数据推送接口 //return response1; } return resp; } catch (Exception) { ObjJson.state = true; ObjJson.msg = "数据异常"; ObjJson.code = 500; resp.Content = new StringContent(JsonConvert.SerializeObject(ObjJson), System.Text.Encoding.UTF8, "application/json"); return resp; } }
原文:https://www.cnblogs.com/yutang-wangweisong/p/14046859.html