zoukankan      html  css  js  c++  java
  • C#还原短地址

    随着微博的盛行,推出短地址服务的网站是越来越多了,如最近新浪重金买下的t.cn。当用户在浏览器中访问短地址时,服务器端一般会通过返回302状态使用户浏览器跳转到正确页面。而在302响应的header中会有个[Location]的键值,它保存着要跳转的真正url。我们只要模拟请求短地址再获取header中的Location内容,就能拿到正确的页面url。

    代码如下,唯一需要注意的是,一定要设HttpWebRequest的AllowAutoRedirect属性为false,要不返回的response会是跳转后页面的。

            /// <summary>
            
    /// 还原短地址
            
    /// </summary>
            public static string ExpandShortUrl(string shortUrl)
            {
                
    string nativeUrl = null;
                
    try
                {
                    HttpWebRequest req 
    = (HttpWebRequest)HttpWebRequest.Create(shortUrl);
                    req.AllowAutoRedirect 
    = false;  // 禁止自动跳转
                    HttpWebResponse response = (HttpWebResponse)req.GetResponse();
                    
    if (response.StatusCode == HttpStatusCode.Found)
                        nativeUrl 
    = response.Headers["Location"];
                }
                
    catch (Exception ex)
                {
                    nativeUrl 
    = null;
                }

                
    return nativeUrl;

            }

  • 相关阅读:
    Win10桌面点右键一直卡顿转圈怎么解决
    Ubuntu 中检查笔记本 CPU 的温度
    aria2的安装与配置
    Downloading Vim
    如何在Ubuntu 18.04上安装Python 3.8
    理解 chroot
    Ubuntu快捷方式存放的位置
    安装ubuntu双系统后,找不到windows启动项的解决方法
    socks5 协议简介
    mybatis源码1.3 MapperMethod
  • 原文地址:https://www.cnblogs.com/vento/p/1998219.html
Copyright © 2011-2022 走看看