GetRequestStream() выдает исключение тайм-аута при отправке данных по URL-адресу HTTPS.

Я вызываю API, размещенный на сервере Apache, для публикации данных. Я использую HttpWebRequest для выполнения POST на С#.

API имеет как обычный HTTP, так и безопасный уровень (HTTPS) PORT на сервере. Когда я вызываю URL-адрес HTTP, он работает отлично. Однако, когда я вызываю HTTPS, это дает мне исключение времени ожидания (в функции GetRequestStream()). Любые идеи? Я использую VS 2010, .Net framework 3.5 и С#. Вот блок кода:

string json_value = jsonSerializer.Serialize(data);


        HttpWebRequest request = (HttpWebRequest)System.Net.WebRequest.Create("https://server-url-xxxx.com");
        request.Method = "POST";
        request.ProtocolVersion = System.Net.HttpVersion.Version10;
        request.ContentType = "application/x-www-form-urlencoded";

        byte[] buffer = Encoding.ASCII.GetBytes(json_value);
        request.ContentLength = buffer.Length;
        System.IO.Stream reqStream = request.GetRequestStream();
        reqStream.Write(buffer, 0, buffer.Length);
        reqStream.Close();

РЕДАКТИРОВАТЬ: Консольная программа, предложенная Петром, прекрасно работает. Но когда я добавляю данные (в формате JSON), которые необходимо опубликовать в API, возникает исключение, связанное с тайм-аутом операции. Вот код, который я добавляю в консольное приложение, и он выдает ошибку.

byte[] buffer = Encoding.ASCII.GetBytes(json_value);
request.ContentLength = buffer.Length;
13
задан Wiz 9 March 2012 в 03:58
поделиться