我可以使用
从网站下载页面sString = new System.Net.WebClient().DownloadString(Page);
但是如果页面重定向,我该如何捕获新地址。例如,如果我访问google.com网站,我想获取它重定向到的页面,以便我可以获取ei代码。
答案 0 :(得分:1)
您需要检查HTTP响应中包含的HTTP状态,如果它是HTTP" 302 Found",那么您需要获取"位置"的值。来自回复的标题。该值将是重定向的目标,因此您需要下载目标。
two
five
答案 1 :(得分:0)
以下是如何使用HttpClient
完成的 string Page = "https://stackoverflow.com/questions/44980231/";
HttpClientHandler ClientHandler = new HttpClientHandler();
ClientHandler.AllowAutoRedirect = false;
HttpClient client = new HttpClient(ClientHandler);
HttpResponseMessage response = await client.GetAsync(Page);
try
{
string location = response.Headers.GetValues("Location").FirstOrDefault();
if (!Uri.IsWellFormedUriString(location, UriKind.Absolute))
{
Uri PageUri = new Uri(Page);
location = PageUri.Scheme + "://" + PageUri.Host + location;
}
MessageBox.Show(location);
}
catch
{
MessageBox.Show("No redirect!");
}
<强>结果:强>