示例#1
0
    public static string get_redirect_url(string url, string referer_url)
    {
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);

        if (url.Contains("coupon") && url.Contains("taobao.com"))
        {
            request.UserAgent = "Mozilla/5.0 (iPad; U; CPU OS 3_2_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B500 Safari/531.21.10";
        }
        else
        {
            request.UserAgent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17";
        }
        request.Accept  = "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*";
        request.Referer = referer_url;
        request.Headers.Add("Accept-Language", "zh-cn");
        string cookie = CookieUtil.get_cookie("http://www.taobao.com");

        request.Headers.Add("Cookie", cookie);
        request.AllowAutoRedirect = false;
        request.Method            = "GET";
        request.Timeout           = 0x7d0;
        HttpWebResponse response = (HttpWebResponse)request.GetResponse();
        StreamReader    reader   = new StreamReader(response.GetResponseStream());
        string          str2     = reader.ReadToEnd();

        response.Close();
        reader.Close();
        if (HttpStatusCode.Found.Equals(response.StatusCode) || HttpStatusCode.MovedPermanently.Equals(response.StatusCode))
        {
            string str3 = response.Headers.Get("Location").ToString();
            if (str3.Contains("/t_js?tu="))
            {
                return(get_redirect_url(smethod_22(str3.Split(new char[] { '=' })[1]), str3));
            }
            if (str3.Contains("coupon") && str3.Contains("taobao.com"))
            {
                return(str3);
            }
            if (str3.Contains("item.htm?id="))
            {
                return(str3);
            }
            if (str3.Contains("detail.ju.taobao.com"))
            {
                return(str3);
            }
            if ((((str3.Contains("taobao.com") || str3.Contains("tmall.com")) || str3.Contains("yao.95095.com")) && str3.Contains("item.htm")) && str3.Contains("id="))
            {
                return(str3);
            }
            if (str3.Contains("shop/view_shop.htm?user_number_id="))
            {
                return(str3);
            }
            return(get_redirect_url(str3, str3));
        }
        if (url.Contains("m.tb.cn"))
        {
            int startIndex = str2.IndexOf("var url = '") + 11;
            int length     = str2.IndexOf("'", startIndex) - startIndex;
            return(get_redirect_url(str2.Substring(startIndex, length), url));
        }
        return(url);
    }