如何获得 http://www.google.com 站点的重定向 url
How to get redirect url of http://www.google.com site
我试过这个简单的代码来获取重定向代码 307 但失败了。
string urlRequest = "http://www.google.com";
request = HttpWebRequest.Create(urlRequest) as HttpWebRequest;
request.AllowAutoRedirect = false;
var response = request.GetResponse();
期望响应状态代码为 307 和 AbsoluteUri =“https://www.google.com”但不是?
Google在这种情况下不会发起重定向,因为无法确定客户端是否支持https。似乎 google 检查请求的 UserAgent header 并且仅在可以确定用户代理支持 https 时才发起重定向。
string urlRequest = "http://www.google.com";
HttpWebRequest request = HttpWebRequest.CreateHttp(urlRequest);
request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:64.0) Gecko/20100101 Firefox/64.0";
request.AllowAutoRedirect = false;
HttpWebResponse response = request.GetResponse() as HttpWebResponse;
MessageBox.Show(response.StatusCode.ToString());
MessageBox.Show(response.Headers["Location"]);
其他请求 header 也会影响 Google 的行为方式。
我试过这个简单的代码来获取重定向代码 307 但失败了。
string urlRequest = "http://www.google.com";
request = HttpWebRequest.Create(urlRequest) as HttpWebRequest;
request.AllowAutoRedirect = false;
var response = request.GetResponse();
期望响应状态代码为 307 和 AbsoluteUri =“https://www.google.com”但不是?
Google在这种情况下不会发起重定向,因为无法确定客户端是否支持https。似乎 google 检查请求的 UserAgent header 并且仅在可以确定用户代理支持 https 时才发起重定向。
string urlRequest = "http://www.google.com";
HttpWebRequest request = HttpWebRequest.CreateHttp(urlRequest);
request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:64.0) Gecko/20100101 Firefox/64.0";
request.AllowAutoRedirect = false;
HttpWebResponse response = request.GetResponse() as HttpWebResponse;
MessageBox.Show(response.StatusCode.ToString());
MessageBox.Show(response.Headers["Location"]);
其他请求 header 也会影响 Google 的行为方式。