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;

            }

  • 相关阅读:
    hdu 5352 匈牙利(多重匹配)
    hdu 2112 最短路+stl
    hdu 1811 拓扑排序+并查集+细心
    hdu5407 CRB and Candies
    hdu1018 Big Number
    hdu5410 CRB and His Birthday
    hdu1023 Train Problem II
    hdu4812 D Tree
    hdu1085 Holding Bin-Laden Captive!
    hdu4810 Wall Painting
  • 原文地址:https://www.cnblogs.com/vento/p/1998219.html
Copyright © 2011-2022 走看看