SharePoint versus .NET WebClient request

本文关键字:request WebClient NET versus SharePoint | 更新日期: 2023-09-27 18:35:44

我们有一个内部SharePoint网站,其中包含大量我想要从中获取的文档。 在浏览IE并单独单击每个链接以开始下载文件时,我可以访问该页面,但是实际上有数百个(如果不是数千个)文件 - 所以我想我会尝试PowerShell请求,以便我可以将其设置为在后台以编程方式下载。 但是,当我尝试执行请求以获取下载的 URL 时,我不断被拒绝访问。 我试过:

  • 设置我的代理
    • 使用 UseDefaultCredentials = $true
    • 使用获取凭据显式定义的凭据
  • 设置用户代理字符串,假设它可能只查找有效的浏览器

但我仍然收到错误401:未经授权。 但请记住,我可以使用IE11浏览器打开相同的URL。

关于我可以做些什么来使我的 .NET WebClient 对象在我们的 SharePoint 站点上工作的任何帮助,就像我的 IE 会话一样,将不胜感激。

    $p = New-Object System.Net.WebProxy('proxy', 80)
#$p.Credentials = (Get-Credential)
$p.UseDefaultCredentials = $true

$wc = New-Object System.Net.WebClient
$wc.Proxy = $p
$wc.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)")
try {
    $r = $wc.DownloadString('http://www.google.com')
} catch {
    $Error[0].Exception
    $error[0].Exception.InnerException
}

SharePoint versus .NET WebClient request

对不起...我想通了。 当我在代理对象上将 UseDefaultCredentials 属性设置为 true 时,我还需要在 WebClient 对象上将其设置为 true...对不起,这个蹩脚的问题。