苏飞论坛

标题: 遇到多次302重定向的,如何获取最终的地址。 [打印本页]

作者: howzew    时间: 2015-1-13 20:34
标题: 遇到多次302重定向的,如何获取最终的地址。
本帖最后由 howzew 于 2015-1-13 20:50 编辑

遇到一个情况,访问A地址,自动302到B,然后自动到C,又自动到D,D的url自动带上了参数。
就是访问A的时候直接一路302到了D,当然,中间经过了B和C。
现在的问题是,因为我要取D的url里的参数,那么该如何获取这个D的url呢?
类库里的方法我试过,只能取一次302的地址,但是多次的没法取到最终的
难道要一次一次写?不是吧?
有啥好办法么?



作者: cload    时间: 2015-1-13 22:35
有好办法。自己在类中处理。
作者: 站长苏飞    时间: 2015-1-14 08:21
如果需要验证Cookie的自然是需要一次一次的取,如果不需要  Allowautoredirect = false,//是否根据301跳转     可选项   
直接将这个默认的参数设置为True就行了。
作者: howzew    时间: 2015-1-14 08:48
本帖最后由 howzew 于 2015-1-14 08:50 编辑
站长苏飞 发表于 2015-1-14 08:21
如果需要验证Cookie的自然是需要一次一次的取,如果不需要  Allowautoredirect = false,//是否根据301跳转  ...

这个我倒是知道,但问题是,如果设置成true,那最后的location就取不到了啊,我又想自动跳转,又想取到最后的location,有啥办法?
作者: cload    时间: 2015-1-14 08:55
howzew 发表于 2015-1-14 08:48
这个我倒是知道,但问题是,如果设置成true,那最后的location就取不到了啊,我又想自动跳转,又想取到最 ...

给你留过言,可你不理我。
作者: howzew    时间: 2015-1-14 09:02
cload 发表于 2015-1-14 08:55
给你留过言,可你不理我。

不好意思啊,手机上的,一直发不出去私信,我又给你发私信了
作者: 站长苏飞    时间: 2015-1-14 09:30
你最后获取的URl就是最后跳转的location地址





作者: 站长苏飞    时间: 2015-1-14 09:31
你想一下最后的URl怎么来,的不就是从最后一次location跳转的吗,那不前的URl自然就是最后的location了
作者: howzew    时间: 2015-1-14 09:40
本帖最后由 howzew 于 2015-1-14 09:42 编辑
站长苏飞 发表于 2015-1-14 09:31
你想一下最后的URl怎么来,的不就是从最后一次location跳转的吗,那不前的URl自然就是最后的location了

可能是我没表达清楚
就是访问A地址,如果Allowautoredirect = false,那么获得Location B,接着访问Location B,得到Location C,接着访问Locaiton C,获得Location D,可以得到最终我要的url(就是D),但是缺点就是多次跳转要写多次代码,比较麻烦。

那么如果我设置Allowautoredirect = true,我可以直接从A跳转到D,但是取不到D的url了。

现在我想在Allowautoredirect = true的情况下,直接从A跳转到D,同时获取D的url。

作者: 站长苏飞    时间: 2015-1-14 09:54
哦,我明白你的意思,在的我框架确实没有获取这个最后一次属性的方法,
你可以先这样取
  //获取最后访问的URl
            result.ResponseUri = response.ResponseUri.ToString();

这个参数ResponseUri我最近更新的时候就加上了。
作者: howzew    时间: 2015-1-14 09:55
站长苏飞 发表于 2015-1-14 09:54
哦,我明白你的意思,在的我框架确实没有获取这个最后一次属性的方法,
你可以先这样取
  //获取最后访问 ...

妥妥的!
作者: 水手    时间: 2015-1-14 20:18
留个脚印表示我来过!




欢迎光临 苏飞论坛 (http://www.sufeinet.com/) Powered by Discuz! X3.4