C#网络客户端OpenRead url

C#网络客户端OpenRead url,c#,webclient,C#,Webclient,因此,我有一个程序,它使用一个短链接(我使用了谷歌url缩短器)获取页面。 为了构建我的示例,我使用了 我不明白一件事:当我做client.OpenRead(“http://tinyurl.com/345yj7x");这将下载url指向的页面?如果此方法下载页面,我需要一些东西来只获取url,因此如果有方法只获取一些标题,或者只获取url,请告诉我。您可以仅使用标题请求获取标题,如下所示: var request = WebRequest.Create(sourceUri); request.M

因此,我有一个程序,它使用一个短链接(我使用了谷歌url缩短器)获取页面。 为了构建我的示例,我使用了


我不明白一件事:当我做
client.OpenRead(“http://tinyurl.com/345yj7x");这将下载url指向的页面?如果此方法下载页面,我需要一些东西来只获取url,因此如果有方法只获取一些标题,或者只获取url,请告诉我。

您可以仅使用标题请求获取标题,如下所示:

var request = WebRequest.Create(sourceUri);
request.Method = "HEAD";

var response = request.GetResponse();
if (response != null) {
    // You can now use response.Headers to get header info
}
创建一个属性设置为false的,然后查看响应的标题

var request = (HttpWebRequest) WebRequest.Create("http://tinyurl.com/345yj7x");
request.AllowAutoRedirect = false;
var response = request.GetResponse();
var location = response.Headers[HttpResponseHeader.Location];

布尔西。然后只需使用response.ResponseUri获取您的URL—在本例中,它看起来是使用on response添加的,否则您将保持连接打开。
var request = (HttpWebRequest) WebRequest.Create("http://tinyurl.com/345yj7x");
request.AllowAutoRedirect = false;
var response = request.GetResponse();
var location = response.Headers[HttpResponseHeader.Location];