6

我需要使用 CPython 在公司 Sharepoint 网站上下载文件。现有的代码库阻止我在不移植代码的情况下使用 Ironpython,因此 .NET 的WebClient库已经出局。我还想在不提示用户保存且不提示用户输入网络凭据的情况下下载文件。我尝试了其他库,但它们都有缺点:

  • urllib2python-ntlm:需要提供用户/通行证
  • Internet Explorer 的 COM 自动化:需要用户单击“保存”
  • subprocessusing wgetor cURL: 在不请求用户/通行证的情况下无法进行身份验证

我找不到任何pywin32看起来像挂钩到 urllib2 或提供等效功能的东西。那么,有没有一种方法可以在不请求凭据且不提示用户单击“保存”的情况下下载文件?

4

1 回答 1

4

我最终从 Microsoft 支持页面找到了一些 VB 代码,该代码使用了urlmon.dll我用一行ctypes代码复制它的函数,它完全完成了我需要它做的事情。

ctypes.windll.urlmon.URLDownloadToFileA(0,url,local_file_name,0,0)
  • url是资源的位置(在本例中,是 Sharepoint 站点上的 Excel 文件)
  • local_file_name是要保存的文件的本地路径和名称。

这在没有提示的情况下通过网络传递了凭据。

于 2010-01-28T18:00:42.750 回答