【问题标题】:Mono - HttpWebRequest over SSL - Error writing headersMono - HttpWebRequest over SSL - 写入标头时出错
【发布时间】:2014-08-01 23:10:15
【问题描述】:

下面会抛出 System.Net.WebException - Error:SendFailure (Error writing headers) over SSL 但对http://www.google.com 工作正常

using System;
using System.Web;
using System.Net;
using System.IO;

namespace HTTPS_Headers
{
    class MainClass
    {
        public static void Main (string[] args)
        {
            var request = (HttpWebRequest)WebRequest.Create ("https://www.google.co.uk/?q=mono");

            using(var reader = new StreamReader(request.GetResponse().GetResponseStream())) {

                Console.WriteLine (reader.ReadToEnd ());
            }

            Console.ReadLine();
        }
    }
}

我在 Mono 3.4.0/Lubuntu 14.04 上运行它。在 Windows/.NET 4 上通过 SSL 工作正常。

【问题讨论】:

    标签: mono


    【解决方案1】:

    尝试在您的机器上运行以下命令来导入受信任的根证书:

    mozroots --import --sync
    

    【讨论】:

    • 如果您使用“sudo mono”运行程序,将证书添加到用户存储是不够的。您必须通过传递“--machine”将它们添加到机器商店。我花了一段时间才弄明白。
    • @knguyen - Mono 3.12 或更高版本不再需要运行 mozroots - apebox.org/wordpress/linux/1163
    • 这仍然不适用于某些网站。例如,我很难通过 HTTPS 请求向 Logz.io 发送日志。知道除此之外我还能做什么并使用 ValidateCertificateCallback 吗?
    猜你喜欢
    • 1970-01-01
    • 2012-01-28
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多