【发布时间】:2021-12-29 10:04:52
【问题描述】:
我正在运行以下代码,但收到的结果与从浏览器(例如 chrome)发出的调用不同。 .net 代码给我 200(OK),而 Chrome 302 带有重定向 url。谁能给我解释一下为什么?
System.Net.ServicePointManager.SecurityProtocol = Net.SecurityProtocolType.Tls12
Net.ServicePointManager.ServerCertificateValidationCallback = AddressOf certVerify
Dim client As New System.Net.Http.HttpClient
Dim requestMessage As New System.Net.Http.HttpRequestMessage
requestMessage.RequestUri = New Uri("https://iampe.agenziaentrate.gov.it/sam/UI/Logout?realm=/agenziaentrate")
requestMessage.Method = HttpMethod.Get
requestMessage.Headers.Accept.Add(New MediaTypeWithQualityHeaderValue("*/*"))
requestMessage.Headers.Host = "iampe.agenziaentrate.gov.it"
requestMessage.Headers.Add("Pragma", "no-cache")
requestMessage.Headers.Add("sec-ch-ua", """ Not A;Brand"";v=""99"", ""Chromium"";v=""96"", ""Google Chrome"";v=""96""")
requestMessage.Headers.Add("sec-ch-ua-mobile", "?0")
requestMessage.Headers.Add("sec-ch-ua-platform", """Windows""")
requestMessage.Headers.Add("Upgrade-Insecure-Requests", "1")
requestMessage.Headers.UserAgent.Add(New ProductInfoHeaderValue("ScraperBot", "1.0"))
requestMessage.Headers.Add("Accept", "*/*")
requestMessage.Headers.Add("Sec-Fetch-Site", "none")
requestMessage.Headers.Add("Sec-Fetch-Mode", "navigate")
requestMessage.Headers.Add("Sec-Fetch-User", "?1")
requestMessage.Headers.Add("Sec-Fetch-Dest", "document")
requestMessage.Headers.Add("Accept-Encoding", "gzip, deflate, br")
requestMessage.Headers.Add("Accept-Language", "it-IT,it;q=0.9")
Dim Risposta As System.Net.Http.HttpResponseMessage = client.SendAsync(requestMessage).Result
Public Function certVerify(se As Object, cert As System.Security.Cryptography.X509Certificates.X509Certificate, chain As System.Security.Cryptography.X509Certificates.X509Chain, sslerror As System.Net.Security.SslPolicyErrors)
Return True
End Function
【问题讨论】:
标签: .net httpclient tls1.2