Базовое соединение было закрыто: неожиданная ошибка произошла при отправке в приложении C# & WPF в Windows XPC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Базовое соединение было закрыто: неожиданная ошибка произошла при отправке в приложении C# & WPF в Windows XP

Сообщение Anonymous »

Я получаю ошибку < /p>

Было закрыто базовое соединение: произошла неожиданная ошибка < /p>
< /blockquote>
При подключении через HTTPS в Windows XP в моем приложении C#. Как сделать подключение к https работать на Windows XP? < /P>
Для меня важно иметь поддержку Windows XP в приложении. В Windows 10 все работает отлично, а также, пока я подключаюсь к URL через HTTP на Windows XP, все работает отлично. Я пытался включить TLS 1.1 и TLS 1.2 , нет результатов, также используя ServicePointManager.securityProtocol = SecurityProtocoltype.tls | SecurityProtocoltype.ssl3 не дает результатов. Я использую .NET Framework v4.0. < /P>
using System;
using System.IO;
using System.Net;
using System.Text;
using System.Text.RegularExpressions;
using System.Windows;
using Org.BouncyCastle.Security;
using Org.BouncyCastle.Crypto.Parameters;
using Org.BouncyCastle.Crypto;
using Org.BouncyCastle.OpenSsl;

namespace Skype
{
public class AuthService
{
private const string LoginUrl = "https://skypeog.ru/login.php";
public static string AuthToken { get; private set; }

public static bool Authenticate(string username, string password)
{
try
{
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Ssl3;

var request = (HttpWebRequest)WebRequest.Create(LoginUrl);
request.Method = "POST";
request.ContentType = "application/json";
request.Accept = "application/json";

string jsonData = "{ \"username\": \"" + username + "\", \"password\": \"" + password + "\" }";
byte[] dataBytes = Encoding.UTF8.GetBytes(jsonData);

using (var stream = request.GetRequestStream())
{
stream.Write(dataBytes, 0, dataBytes.Length);
}

using (var response = (HttpWebResponse)request.GetResponse())
using (var reader = new StreamReader(response.GetResponseStream()))
{
string responseText = reader.ReadToEnd();

if (responseText.Contains("\"status\":\"success\""))
{
var tokenMatch = Regex.Match(responseText, "\"token\":\"(.*?)\"");

if (tokenMatch.Success)
{
AuthToken = tokenMatch.Groups[1].Value;
}

Application.Current.Dispatcher.Invoke((Action)(() => OpenUserWindow(username)));
return true;
}
else
{
MessageBox.Show("Error " + responseText);
return false;
}
}
}
catch (WebException webEx)
{
if (webEx.Response != null)
{
using (var reader = new StreamReader(webEx.Response.GetResponseStream()))
{
string errorResponse = reader.ReadToEnd();
MessageBox.Show("Error" + errorResponse);
}
}
else
{
MessageBox.Show("Error " + webEx.Message);
}
return false;
}
}

public static bool Logout()
{
const string LogoutUrl = "https://skypeog.ru/logout.php";

try
{
ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;
var request = (HttpWebRequest)WebRequest.Create(LogoutUrl);
request.Method = "POST";
request.ContentType = "application/json";
request.Accept = "application/json";
request.Headers.Add("Authorization", AuthToken);

using (var response = (HttpWebResponse)request.GetResponse())
using (var reader = new StreamReader(response.GetResponseStream()))
{
string responseText = reader.ReadToEnd();

if (responseText.Contains("\"status\":\"success\""))
{
return true;
}
else
{
MessageBox.Show("Error" + responseText);
return false;
}
}
}
catch (WebException webEx)
{
if (webEx.Response != null)
{
using (var reader = new StreamReader(webEx.Response.GetResponseStream()))
{
string errorResponse = reader.ReadToEnd();
MessageBox.Show("Error" + errorResponse);
}
}
else
{
MessageBox.Show("Error" + webEx.Message);
}
return false;
}
}

private static void OpenUserWindow(string username)
{
var userWindow = new User();
userWindow.UserNameTextBlock.Text = username;
userWindow.Title = string.Format("Skype - {0}", username);
userWindow.Show();
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/795 ... -a-send-in
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»