C# Findout在C中url重定向到哪里#
我有一个重定向到somesite.com/13sjd_9488.jpg的url类型的url。如何在.NET和Silverlight中从第一个url转到第二个url?您不能在客户端执行此操作,因为此重定向是在服务器端完成的,因此除非您向此url发送HTTP请求,否则无法执行此操作:C# Findout在C中url重定向到哪里#,c#,silverlight,C#,Silverlight,我有一个重定向到somesite.com/13sjd_9488.jpg的url类型的url。如何在.NET和Silverlight中从第一个url转到第二个url?您不能在客户端执行此操作,因为此重定向是在服务器端完成的,因此除非您向此url发送HTTP请求,否则无法执行此操作: var request = WebRequest.Create("http://somesite.com/photo/123"); request.BeginGetResponse(ar => { us
var request = WebRequest.Create("http://somesite.com/photo/123");
request.BeginGetResponse(ar =>
{
using (var response = ((WebRequest)ar.AsyncState).EndGetResponse(ar))
{
// This will point to the redirected url:
// http://somesite.com/13sjd_9488.jpg
string responseUri = response.ResponseUri.AbsoluteUri;
}
}, request);
如果您可以发送一个
HttpRequest
:
public static bool TryGetRedirectedUri(Uri uri, out Uri redirectedUri)
{
var request = (HttpWebRequest)WebRequest.Create(uri);
request.AllowAutoRedirect = false;
using (var response = (HttpWebResponse)request.GetResponse())
{
if (response.StatusCode == HttpStatusCode.Moved)
{
redirectedUri = new Uri(response.Headers[HttpResponseHeader.Location]);
return true;
}
else
{
redirectedUri = null;
return false;
}
}
}
注意:这不包括所有情况,需要更多的健康检查。谢谢,这正是我想要的。