【发布时间】:2015-09-14 13:14:56
【问题描述】:
我正在一个程序中执行一个小功能,我想检查一个 m3u8 链接是否正常工作。但是,我无法正确执行此操作,因为某些链接无法正常工作,但它们返回的状态代码等于 OK。这里有我的代码:
var textBox = (TextBox)this.FindName("urlToCheck");
var request = (HttpWebRequest)WebRequest.Create(textBox.Text.Trim());
request.Method = "HEAD";
try
{
var response = (HttpWebResponse)request.GetResponse();
var success = response.StatusCode == HttpStatusCode.OK;
if (success) MessageBox.Show("Apparently the link is working");
else MessageBox.Show("Apparently the link is not working");
}
catch (Exception)
{
MessageBox.Show("Tthe link is not working");
}
如何检测工作链接中是否存在真实流?我不知道该怎么做,如何检测一个有效的 URL Stream 而不是。现在对我来说唯一的方法是使用 VLC 播放器。
非常感谢您的帮助。
最好的问候
【问题讨论】:
-
定义“不工作”。根据定义返回 200 的请求 - 它返回您在正文中询问的任何内容。如果您想验证正文是否符合您的预期,您应该检查正文内容,而不是状态码。
-
UHmm,例如,这里有国际空间站的空间站流:iphone-streaming.ustream.tv/uhls/9408562/streams/live/iphone/… 这个可以工作,但是这个:iptvservice.ddns.net:8000/live/yannis/yannis/2322.m3u8 不行。我不确切知道如何检测差异,对我来说,检测它的方法是使用 VLC 播放器。