Я вызываю API, размещенный на сервере Apache, для публикации данных.Я использую HttpWebRequest для выполнения POST в C #.
API имеет ПОРТ обычного HTTP и защищенного уровня (HTTPS) на сервере.Когда я звоню HTTP URL, он работает отлично.Однако, когда я вызываю HTTPS, это дает мне исключение тайм-аута (в функции GetRequestStream ()).Есть идеи?Я использую VS 2010, .Net Framework 3.5 и C #.Вот блок кода:
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();
EDIT: консольная программа, предложенная Питером, работает нормально.Но когда я добавляю данные (в формате JSON), которые необходимо опубликовать в API, это исключает исключение по тайм-ауту операции.Вот код, который я добавляю в консольное приложение, и он выдает ошибку.
byte[] buffer = Encoding.ASCII.GetBytes(json_value);
request.ContentLength = buffer.Length;