在新粮微博里插入一个视频地址或者音频地址,会自动将地址变成类似这样的http://t.cn/h5hrB7,请问这是用的什么加密方式,能将长地址变成这么短?

解决方案 »

  1.   

    这个问题很好 同求 我猜也是url重写的
      

  2.   

    这个方法是新浪自己定的,除非开发API给你,否则没有办法。
    google 也有这种功能 http://goo.gl/相关API调用        /// <summary>
            /// 调用Google API 生成短网址
            /// </summary>
            /// <param name="longUrl">长地址</param>
            /// <returns>短网址</returns>
            public static string GetShortUrl(string longUrl)
            {
                CookieContainer cc = new CookieContainer();
                string url = "http://goo.gl/api/shorten";
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
                request.Method = "POST";
                request.ContentType = "application/x-www-form-urlencoded";
                request.CookieContainer = cc;
                string data = "url=" + HttpUtility.UrlEncode(longUrl) + "&security_token=";
                request.ContentLength = data.Length;
                StreamWriter writer = new StreamWriter(request.GetRequestStream(), Encoding.ASCII);
                writer.Write(data);
                writer.Flush();
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                string encoding = response.ContentEncoding;
                if (encoding == null || encoding.Length < 1)
                {
                    encoding = "utf-8"; //默认编码
                }
                StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(encoding));
                data = reader.ReadToEnd();
                response.Close();
                return data;
            }