查看: 7077|回复: 4
收起左侧

[已解决] C# 怎么获取网页重定向后的URL

 关闭 [复制链接]
沧海ふ无涯
发表于 2014-7-31 16:09:40 | 显示全部楼层 |阅读模式
本帖最后由 沧海ふ无涯 于 2014-8-1 09:58 编辑

原始URL:  
url = "http://service.seersee.com/webcast/site/entry/live-0dd4321c413f4100bdf23b7cafd37803?nickName=" +                                                      System.Web.HttpUtility.UrlEncode(textBox1.Text) + "&token=654321";

textbox1的值是url的一部分就是昵称的值.

返回的是类似    http://service.seersee.com/webca ... =true&upgrade=false


uid是动态的的且不可随意指定.

现在用了很多方法都是无法的  


以下方法无效:

   string redirectUrl;
            WebRequest myRequest = WebRequest.Create(originalAddress);

            WebResponse myResponse = myRequest.GetResponse();
            redirectUrl = myResponse.ResponseUri.ToString();

            myResponse.Close();
            return redirectUrl;





   //string url = PageUrl;
            //string redirectUrl;
            //HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
            //request.Referer = url;              //来源地址,避免有些站是防盗链的
            //request.AllowAutoRedirect = false;  //这里不允许再继续跳转.否则取不到了
            //using (WebResponse response = request.GetResponse())
            //{
            //    redirectUrl = response.Headers["Location"];      //这里就是跳转地址了
            //}

感谢4L帮我解决了这个难题~~
fengwn1997
发表于 2014-7-31 18:29:17 来自手机 | 显示全部楼层
你先获取网页内容,里面有跳转的URL,如果我没记错的话
沧海ふ无涯
 楼主| 发表于 2014-7-31 20:52:14 | 显示全部楼层
fengwn1997 发表于 2014-7-31 18:29
你先获取网页内容,里面有跳转的URL,如果我没记错的话

不可行~~~~
fengwn1997
发表于 2014-7-31 22:51:44 | 显示全部楼层
        static string GetHTML(string url)
        {
            Uri uri = new Uri(url);
            HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create(uri);
            myReq.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko";
            myReq.Accept = "*/*";
            myReq.KeepAlive = true;
            myReq.Headers.Add("Accept-Language", "zh-cn,en-us;q=0.5");
            HttpWebResponse result = (HttpWebResponse)myReq.GetResponse();
            //Console.Write(result.Headers);
            Stream receviceStream = result.GetResponseStream();
            StreamReader readerOfStream = new StreamReader(receviceStream, System.Text.Encoding.GetEncoding("utf-8"));
            string strHTML = readerOfStream.ReadToEnd();
            readerOfStream.Close();
            receviceStream.Close();
            result.Close();
            return strHTML;
        }
我用VS2012在console下试了,自动跳转

评分

参与人数 1经验 +8 收起 理由
woxihuan2011 + 8 感谢提供分享

查看全部评分

沧海ふ无涯
 楼主| 发表于 2014-8-1 09:57:14 | 显示全部楼层
fengwn1997 发表于 2014-7-31 22:51
static string GetHTML(string url)
        {
            Uri uri = new Uri(url);

非常感谢  ~~~

问题完美解决了   昨天我搞了一下午..

您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-1-11 06:22 , Processed in 0.119529 second(s), 17 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表