在 HTTP 客户端 C# 中不处理位置标头中的相对 URL

问题描述

我使用 HTTP 客户端来获取 URL 的状态。认情况下,AllowAutoRedirect 为 True

它会自动处理 URL 重定向。但如果位置标头返回绝对 URL,它就会失败。

它停止请求并返回最后一个位置标头 url 状态。

示例:

URL A ("http://www.alphabets.com/a") -> 重定向 -> URL B ("http://www.alphabets.com/b")

URL B ("http://www.alphabets.com/b") -> 重定向 -> URL C ("http://www.alphabets.com/c")

URL C ("http://www.alphabets.com/c") -> 重定向 -> URL D ("http://www.alphabets.com/d")

URL D ("http://www.alphabets.com/d")-> 重定向 -> URL E ("/e") (E 是相对 URL)

URL D 状态代码作为状态代码返回。但实际重定向的 URL 是 F。

有什么办法可以克服这种情况并获得 URL F 作为重定向的 URL。

注意:

可以通过设置AllowAutoRedirect=false并手动处理重定向来实现。但我想找到,有没有办法用 AllowAutoRedirect=True

来实现这一点

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)