我有一个程序,使用短链接(我使用了Google的url缩短器)获取页面。为了构建我的示例,我使用了来自在C#中使用WebClient,是否有一种方法可以获取被重定向后的站点的URL?的代码。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Net;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
MyWebClient client = new MyWebClient();
client.OpenRead("http://tinyurl.com/345yj7x");
Uri uri = client.ResponseUri;
Console.WriteLine(uri.AbsoluteUri);
Console.Read();
}
}
class MyWebClient : WebClient
{
Uri _responseUri;
public Uri ResponseUri
{
get { return _responseUri; }
}
protected override WebResponse GetWebResponse(WebRequest request)
{
WebResponse response = base.GetWebResponse(request);
_responseUri = response.ResponseUri;
return response;
}
}
}
我不明白一件事:当我执行 client.OpenRead("http://tinyurl.com/345yj7x");
时,它是否会下载该URL指向的页面?如果这个方法下载了页面,我需要一些东西只获取URL,所以如果有一种方法只获取一些头信息或只获取URL,请告诉我。