带有CredentialCache的C#HttpWebrequest从Windows成功但从Ubuntu失败

时间:2017-07-10 03:36:45

标签: c# ubuntu mono httpwebrequest

我有一些(相当丑陋,但功能齐全)的C#代码,我用它来检索网站上的文件。这些网站在安全和不安全的站点之间是不同的,文件的类型各不相同(有些是图像,有些是压缩文件等)。

我创建了一个CredentialCache,其中包含这些网站的各种身份验证信息,我将其设置为HttpWebRequest.Credentials成员。

代码的目标是.NET框架的V2.0。

当我使用Visual Studio 17社区版在Windows下编译和运行此代码时,它可以完美运行。无论是否需要身份验证,都会检索我尝试检索的任何文件而不会出现问题。

当我在Ubuntu下将同一个项目加载到MonoDevelop时,它编译得很好,运行没有问题。但是,它只会检索不需要身份验证的文件。任何需要身份验证的文件都会返回401 - 未经过身份验证的响应。

我在两个实例中使用相同的CredentialCache(我将CredentialCache保存到磁盘并在每次运行程序时重新加载它 - 以避免每次都必须输入所有不同的凭据。)

我会很感激为什么会失败的任何指示...如果有帮助我可以发布代码部分......

0 个答案:

没有答案