【发布时间】:2011-12-19 12:15:03
【问题描述】:
我正在尝试使用 c# 从 vimeo 下载视频。 问题是当我必须接收解码代码 302 进行重定向时,我收到了代码 200(带有显示“权限被拒绝”的页面)。 这是代码:
string url = "http://player.vimeo.com/play_redirect?clip_id=" + clip_id + "&sig=" + request_signature + "&time=" + request_signature_expires + "&quality=" + hd + "&codecs=H264,VP8,VP6&type=moogaloop_local&embed_location=";
_VideoURL = GetHttpSpecial(url, cookies);
public string GetHttpSpecial(string url, CookieContainer cookies)
{
string html = "";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "GET";
request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
request.Headers.Add("Accept-Language: nl,en-us;q=0.7,en;q=0.3");
request.Headers.Add("Accept-Encoding: gzip, deflate");
request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; rv:8.0) Gecko/20100101 Firefox/8.0";
request.KeepAlive = true;
request.Timeout = 20000;
request.AllowAutoRedirect = false;
request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
foreach (Cookie cookie in response.Cookies)
{
cookies.Add(cookie);
}
if (response.StatusCode == HttpStatusCode.OK)
{
try
{
Stream responseStream = response.GetResponseStream();
StreamReader reader = new StreamReader(responseStream, Encoding.UTF8);
try
{
html = reader.ReadToEnd();
}
finally
{
reader.Close();
}
}
finally
{
response.Close();
}
return html;
}
else
{
if (response.StatusCode == HttpStatusCode.Found)
{
return response.Headers["Location"].ToString();
}
else
{
return "error: server returned status description:" + response.StatusDescription;
}
}
}
你能帮帮我吗?
谢谢
【问题讨论】:
-
嗨,Sara,欢迎来到该网站。当您以编程方式尝试下载视频或仅通过网站使用 vimeo 时,您是否看到了这种情况?
-
我正在尝试使用我的应用程序编程从 vimeo 下载视频