403禁止使用WebClient请求



我知道这是一个非常常见的问题,也有许多建议和解决方案。但是,我几乎尝试了所有这些,但是即使配置了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

相关内容

  • 没有找到相关文章

最新更新