-1

这是 Visual Studio 2015 中的错误还是?

Exception Exception thrown: 'System.ArgumentNullException' in 
      mscorlib.dll ("Value cannot be null.") System.ArgumentNullException

我正在关注的代码/教程......

https://www.codeproject.com/Tips/397574/Use-Csharp-to-get-JSON-Data-from-the-Web-and-Map-i

要复制创建一个表单应用程序并添加一个名为“button1”的按钮,并为 button1_Click 函数添加此代码,URL 中的 http 不会出错,https 会出错...

var w = new WebClient();
string url = "https://www.msftncsi.com/ncsi.txt";
var content = w.DownloadString(url);
MessageBox.Show(content);
4

1 回答 1

0

如果您只使用必须调用的代码https,它将无法正常工作。尝试导入这些命名空间:

using System.Security.Cryptography.X509Certificates;
using System.Net.Security;

然后执行此操作以进行证书验证:

System.Net.ServicePointManager.ServerCertificateValidationCallback =
    delegate (object sender, X509Certificate certificate, 
    X509Chain chain, SslPolicyErrors sslPolicyErrors) 
    { return true; };

然后它应该工作:

var w = new WebClient();
string url = "https://www.msftncsi.com/ncsi.txt";
var content = w.DownloadString(url);

请阅读内容以了解为什么上述方法可能很危险。

于 2017-02-19T02:00:58.497 回答