问题描述
我正在尝试从带有一些 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 (将#修改为@)