如何获取重定向响应

发布于 2024-09-25 12:11:44 字数 158 浏览 2 评论 0原文

假设如果我在浏览器中输入 www.abc.com,浏览器会自动重定向到 www.xyz.com。我需要从服务器端获取重定向网址。也就是说,如果www.abc.com返回一个重定向url www.xyz.com,我如何从原始URL(www.abc.com)请求这个重定向URL(www.xyz.com)?

Say if I put www.abc.com in the browser, the browser automatically gets redirected to www.xyz.com. I need to get that redirect url from server side. That is, if www.abc.com returns a redirect url www.xyz.com, how can I request this redirect URL (www.xyz.com) from the original URL (www.abc.com)?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

惟欲睡 2024-10-02 12:11:44

以下是网络爬虫的片段,展示了如何处理重定向:

  HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(url);
  webRequest.AllowAutoRedirect = false;  // IMPORTANT
  webRequest.UserAgent = ...;
  webRequest.Timeout = 10000;           // timeout 10s

  // Get the response ...
  using (webResponse = (HttpWebResponse)webRequest.GetResponse())
  {   
     // Now look to see if it's a redirect
     if ((int)webResponse.StatusCode >= 300 && (int)webResponse.StatusCode <= 399)
     {
       string uriString = webResponse.Headers["Location"];
       Console.WriteLine("Redirect to " + uriString ?? "NULL");
       ...
     }
  }

Here's a snippet from a web crawler that shows how to handle redirects:

  HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(url);
  webRequest.AllowAutoRedirect = false;  // IMPORTANT
  webRequest.UserAgent = ...;
  webRequest.Timeout = 10000;           // timeout 10s

  // Get the response ...
  using (webResponse = (HttpWebResponse)webRequest.GetResponse())
  {   
     // Now look to see if it's a redirect
     if ((int)webResponse.StatusCode >= 300 && (int)webResponse.StatusCode <= 399)
     {
       string uriString = webResponse.Headers["Location"];
       Console.WriteLine("Redirect to " + uriString ?? "NULL");
       ...
     }
  }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文