Как получить URL перенаправления сайта http://www.google.com - PullRequest
0 голосов
/ 23 января 2019

Я пробовал этот простой код, чтобы получить код перенаправления 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", но не?

1 Ответ

0 голосов
/ 23 января 2019

Google не инициирует перенаправление в этом случае, потому что не может быть уверен, что клиент поддерживает https. Похоже, что Google проверяет заголовок UserAgent запроса и инициирует перенаправление, только когда он может быть уверен, что пользовательский агент поддерживает 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"]);

Другие заголовки запроса также влияют на поведение Google.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...