首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何验证WebClient请求?

如何验证WebClient请求?
EN

Stack Overflow用户
提问于 2009-12-11 04:09:52
回答 4查看 106.7K关注 0票数 39

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

代码语言:javascript
复制
 WebClient webClient = new WebClient();
 webClient.Encoding = Encoding.UTF8;

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

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-12-11 04:17:46

您使用的是哪种身份验证?如果是表单身份验证,那么最多只能找到.ASPXAUTH cookie并在WebClient请求中传递它。

在最坏的情况下,它不会工作。

票数 2
EN

Stack Overflow用户

发布于 2009-12-11 04:15:05

您需要为WebClient对象提供凭据。就像这样..。

代码语言:javascript
复制
 WebClient client = new WebClient();
 client.Credentials = new NetworkCredential("username", "password");
票数 111
EN

Stack Overflow用户

发布于 2011-11-05 23:23:48

代码语言:javascript
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1883655

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档