我知道这是一个非常常见的问题,也有许多建议和解决方案。但是,我几乎尝试了所有这些,但是即使配置了Fiddler的HTTP请求标头,我仍然无法从我的身边解决此问题。我不确定这是特定的还是我错过了其他重要的东西。因此,我再次问了这个问题,希望您能得到您的进一步支持。预先感谢!
这是链接中使用的代码:
Dim WC As New System.Net.WebClient
'WC.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705Wink")
WC.Headers.Add(HttpRequestHeader.Accept, "Text/ html, Application / xhtml + Xml, Application / Xml;q=0.9, Image / webp, Image / apng,*/*;q=0.8")
WC.Headers.Add(HttpRequestHeader.UserAgent, "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.78 Safari/537.36")
WC.Headers.Add(HttpRequestHeader.AcceptEncoding, "gzip, deflate, br")
WC.Headers.Add(HttpRequestHeader.AcceptLanguage, "zh-CN,zh;q=0.8")
'WC.Headers.Add(HttpRequestHeader.KeepAlive, "true")
WC.Headers.Add(HttpRequestHeader.Host, "www.fda.gov")
'WC.Headers.Add(HttpRequestHeader.ContentType, "")
'WC.Headers.Add(HttpRequestHeader.ContentLength, "")
Dim strURL As String = "https://www.fda.gov/downloads/Drugs/GuidanceComplianceRegulatoryInformation/Guidances/UCM227351.pdf"
'Threading.Thread.Sleep(5000)
WC.DownloadFile(strURL, "1.pdf")
任何想法都将不胜感激!
再次感谢!
斯坦利
首先,每当您使用.NET进行Web请求时,您应该捕获异常,特别是WebException类型。这将使您从服务器获得响应。见下文。
Dim strURL As String = "https://www.fda.gov/downloads/Drugs/GuidanceComplianceRegulatoryInformation/Guidances/UCM227351.pdf"
Try
WC.DownloadFile(strURL, "1.pdf")
Catch ex As Net.WebException
If ex.Response IsNot Nothing Then
Dim response = ex.Response
Dim dataStream = ex.Response.GetResponseStream
Dim reader = New StreamReader(dataStream)
Dim errorDetails As String = reader.ReadToEnd
' do something with errorDetails
End If
End Try
我很好奇,所以我为您的URL做了同样的事情,发现它返回了这些有用的信息。
无法显示此页面。对于给您带来的不便,我们很抱歉。确保您使用的是支持TLS.1.2的客户端。
要纠正错误,请在您的Web请求之前添加此代码。
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12