0
Когда я пытаюсь прочитать поток, я получаю исключение тайм-аута. Ответ, который я получаю с сервера, - это mp3-файл, и я не знаю, как сохранить его как mp3.сохранить ответ от веб-запроса как mp3-файл
WebClient webClient = new WebClient();
int selectedIndex = listBox2.SelectedIndex;
JObject o = JObject.Parse(result);
string SongID = o["SongID"].ToString();
string SongName = o["SongName"].ToString();
string Year = o["Year"].ToString();
string AlbumName = o["AlbumName"].ToString();
textBox4.Text = SongID + Environment.NewLine + SongName + Environment.NewLine + Year + Environment.NewLine + AlbumName;
string stream = Webpost("{\"header\":{\"token\":\"" +prepToken("getStreamKeyFromSongIDEx", ":chickenFingers:")+"\",\"privacy\":0,\"country\":{\"DMA\":0,\"CC1\":0,\"IPR\":0,\"CC2\":0,\"CC3\":2305843009213694000,\"ID\":190,\"CC4\":0},\"uuid\":\"8E5D1ABD-EE1B-4498-B960-8E46077E8ED4\",\"client\":\"jsqueue\",\"session\":\""+session+"\",\"clientRevision\":\"20130520\"},\"method\":\"getStreamKeyFromSongIDEx\",\"parameters\":{\"mobile\":false,\"prefetch\":false,\"songID\":"+SongID+",\"type\":0,\"country\":{\"DMA\":0,\"CC1\":0,\"IPR\":0,\"CC2\":0,\"CC3\":2305843009213694000,\"ID\":190,\"CC4\":0}}}", "http://*****.com/more.php?getStreamKeyFromSongIDEx", "POST", "text/plain");
JObject ss = JObject.Parse(stream);
string streamkey = ss["result"]["streamKey"].ToString();
string ip = ss["result"]["ip"].ToString();
textBox4.Text += Environment.NewLine+ "downloiad url: " + ip + Environment.NewLine + "stream key: " + streamkey;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://" + ip + "/stream.php");
request.Method = "POST";
string postData = "streamKey="+ streamkey;
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
request.ContentLength = postData.Length;
request.Host = ip;
request.Accept = "*/*";
request.Headers.Add("Origin", string.Format("http://*********.com"));
request.Headers.Add("Accept-Language", string.Format("sv-SE,sv;q=0.8,en-US;q=0.6,en;q=0.4"));
request.Headers.Add("Accept-Encoding", string.Format("gzip,deflate,sdch"));
request.Headers.Add("Cookie", string.Format("ismobile=no; PHPSESSID="+ session + "__utma=111479378.517776767.1385046829.1385170025.1385750338.12; __utmb=111479378.14.9.1385751143490; __utmc=111479378; __utmz=111479378.1385157436.6.2.utmcsr=nettech.wikia.com|utmccn=(referral)|utmcmd=referral|utmcct=/wiki/*****_Internal_API"));
request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36";
textBox4.Text += Environment.NewLine + "headers: " + Environment.NewLine + request.Headers;
textBox4.Text += Environment.NewLine + "StreamKey:" + byteArray;
Stream respStream = request.GetRequestStream();
Вы, вероятно, необходимо использовать асинхронный метод, как [это] [1] [1]: HTTP: // stackoverflow.com/questions/3474771/c-sharp-webclient-using-async-and-returning-the-data –