微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

绕过 308 永久重定向

如何解决绕过 308 永久重定向

我正在尝试从带有一些 vb .net 代码的 URL 下载内容

Dim httpclienthandler = New httpclienthandler
With httpclienthandler
    .AllowAutoRedirect = True
End With
Using request = New HttpRequestMessage(HttpMethod.[Get],New Uri(url))
    request.Headers.TryAddWithoutValidation("Accept","text/html,application/xhtml+xml,application/xml")
    request.Headers.TryAddWithoutValidation("Accept-Encoding","gzip,deflate")
    request.Headers.TryAddWithoutValidation("user-agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/76.0.3809.132 Safari/537.36")
    request.Headers.TryAddWithoutValidation("connection","keep-alive")
    request.Headers.TryAddWithoutValidation("Accept-Charset","ISO-8859-1")
    Dim httpClient = New HttpClient(httpclienthandler)
    ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 Or SecurityProtocolType.Tls12 Or SecurityProtocolType.Tls11 Or SecurityProtocolType.Tls

    Using response = Await httpClient.SendAsync(request).ConfigureAwait(False)
        response.EnsureSuccessstatusCode()

        Using responseStream = Await response.Content.ReadAsstreamAsync().ConfigureAwait(False)

            Using decompressedStream = New GZipStream(responseStream,CompressionMode.Decompress)

                Using streamReader = New StreamReader(decompressedStream)
                    Return Await streamReader.ReadToEndAsync().ConfigureAwait(False)
                End Using
            End Using
        End Using
    End Using
End Using

从最近开始,这开始返回 308 - 永久重定向。我尝试过的一件事是添加 .AllowAutoRedirect,但它没有帮助。此外,我已经看到一些答案,建议尝试 ping 响应的 Location 标头中的 URL,但在我的情况下,位置标头与我首先尝试 ping 的 URL 相同,因此它是一个循环。

有没有办法绕过 308 重定向并以某种方式获取内容?在浏览器中,URL 按预期正常工作。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。