如何validationWebClient请求?

我正在使用webclient调用我网站上的页面。 我试图将网页的结果放入pdf,所以我试图获得渲染页面的字符串表示。 问题是请求未经过身份validation,因此我得到的只是一个登录屏幕。 我已将UseDefaultCredentials属性发送到true,但我仍然得到相同的结果。 以下是我的代码的一部分:

WebClient webClient = new WebClient(); webClient.Encoding = Encoding.UTF8; webClient.UseDefaultCredentials = true; return Encoding.UTF8.GetString(webClient.UploadValues(link, "POST",form)); 

您使用什么样的身份validation? 如果是表单身份validation,那么最多只需要找到.ASPXAUTH cookie并将其传递给WebClient请求。

在最坏的情况下,它将无法工作。

您需要为WebClient对象提供凭据。 这样的东西……

  WebClient client = new WebClient(); client.UseDefaultCredentials = true; client.Credentials = new NetworkCredential("username", "password"); 
 Public Function getWeb(ByRef sURL As String) As String Dim myWebClient As New System.Net.WebClient() Try Dim myCredentialCache As New System.Net.CredentialCache() Dim myURI As New Uri(sURL) myCredentialCache.Add(myURI, "ntlm", System.Net.CredentialCache.DefaultNetworkCredentials) myWebClient.Encoding = System.Text.Encoding.UTF8 myWebClient.Credentials = myCredentialCache Return myWebClient.DownloadString(myURI) Catch ex As Exception Return "Exception " & ex.ToString() End Try End Function