首页 新闻 会员 周边

大神进!!winform程序怎么模拟在地址栏输入url,然后获取执行后的url

0
悬赏园豆:15 [已解决问题] 解决于 2013-05-08 17:12
施瓦小辛格的主页 施瓦小辛格 | 初学一级 | 园豆:6
提问于:2013-04-03 11:21
< >
分享
最佳答案
0

这是个重定向的链接,并且要获取到你要的那个链接需要跳转3次,一次302,一次js跳转,再302即可获取目标。

2楼的方法是可行的,只是没说到点子上。使用HttpWebRequest 去请求这个连接。必须设HttpWebRequest的AllowAutoRedirect属性为false。这样HttpWebRequest就不会去自动重定向。请求完成之后可以在响应头中获取Location即可获取到链接1。

拿链接1再去请求,获取网页内容。拿到内容之后这步比较复杂,你需要分析js,并按照js的算法生成链接2.用HttpWebRequest去请求链接2,请求完成之后可以在响应头中获取Location即是你需要的链接。

 

我估计你很难用HttpWebRequest实现,简单点的方法就是webbrowser控件,待相应完成的时候,获取他的Url属性就行了。

收获园豆:10
已注销87544 | 初学一级 |园豆:140 | 2013-04-05 02:11
其他回答(6)
0

其实你就是想获取他后面的ID,分析它URL的变化规律然后改变URL参数。

收获园豆:5
tzya | 园豆:207 (菜鸟二级) | 2013-04-03 11:36

分析太复杂,我就希望有没有一个方法去请求下这个url,然后返回新的url

支持(0) 反对(0) 施瓦小辛格 | 园豆:6 (初学一级) | 2013-04-03 11:41
0

使用HttpWebRequest访问一下,然后获取返回的数据中的url

sinhbv | 园豆:2579 (老鸟四级) | 2013-04-03 12:58

我试了代码是这样的

WebRequest wr = WebRequest.Create(clickUrl);
            WebResponse wp = wr.GetResponse();
         
            Uri url = wp.ResponseUri;

监视了下url的成员,没有我要的数据,不知道代码有没有错误,求指教

支持(0) 反对(0) 施瓦小辛格 | 园豆:6 (初学一级) | 2013-04-03 13:01

@艾编程: 这个地址返回的是一个302,所以,你应该读取location中的值

支持(0) 反对(0) sinhbv | 园豆:2579 (老鸟四级) | 2013-04-03 13:09

@sinhbv: 额,不懂,能帮忙给两句代码否

支持(0) 反对(0) 施瓦小辛格 | 园豆:6 (初学一级) | 2013-04-03 13:11

@艾编程: 查看header中的Location

支持(0) 反对(0) sinhbv | 园豆:2579 (老鸟四级) | 2013-04-03 13:22

@sinhbv: 按你说的,获取的值为null,什么情况

支持(0) 反对(0) 施瓦小辛格 | 园豆:6 (初学一级) | 2013-04-03 13:36

@艾编程: 忘了淘宝有一些防抓的机制,直接这些访问的话,拿不到正确的数据。要抓取数据的话,还是用casperjs比较好。

支持(0) 反对(0) sinhbv | 园豆:2579 (老鸟四级) | 2013-04-03 16:18
0

URL中的ID等信息 被JS中的escape()函数编码了,

用unescape() 函数可对通过 escape() 编码的字符串进行解码即可

月下花弄影 | 园豆:312 (菜鸟二级) | 2013-04-03 13:33

希望用C#代码去解析出来

支持(0) 反对(0) 施瓦小辛格 | 园豆:6 (初学一级) | 2013-04-03 13:35
0

先解码原始url,然后分解querysting,再分析javascript加密步骤,用c#拼出最终地址

空明流光 | 园豆:106 (初学一级) | 2013-04-03 14:06

没有web和js,纯C#后台代码

支持(0) 反对(0) 施瓦小辛格 | 园豆:6 (初学一级) | 2013-04-03 14:07

@艾编程: 就是纯C#呀,你得分析taobao的js源码呀,你上面每个步骤你都得分析,然后用C#实现

支持(1) 反对(0) 空明流光 | 园豆:106 (初学一级) | 2013-04-03 14:12

@沧海一杰: oh my god

支持(0) 反对(0) 施瓦小辛格 | 园豆:6 (初学一级) | 2013-04-03 14:13
0

你还不如去看淘宝API文档。。有C#的 open.taobao.com

丫的 | 园豆:1575 (小虾三级) | 2013-04-03 14:50
0

System.Web.HttpUtility.UrlDecode(Url);

杜昊东 | 园豆:246 (菜鸟二级) | 2013-04-10 09:41
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册