C# как получить Bool из WebRequest? private void SubmitData()
{
try
{
string user = login.Text;
string pass = password.Text;
ASCIIEncoding encoding = new ASCIIEncoding();
string postData = "login=" + user + "&password=" + pass;
byte[] data = encoding.GetBytes(postData);
WebRequest request = WebRequest.Create("https://site.ru/auth.php");
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = data.Length;
Stream stream = request.GetRequestStream();
stream.Write(data, 0, data.Length);
stream.Close();
WebResponse response = request.GetResponse();
stream = response.GetResponseStream();
StreamReader sr = new StreamReader(stream);
MessageBox.Show(sr.ReadToEnd());
sr.Close();
stream.Close();
}
catch (Exception ex)
{
MessageBox.Show("Error: " + ex.Message);
}
}
Собственно вот код, как мне необходимо обработать реквест, что бы при добавлении условной конструкции не возникало ошибок, по поводу того, что нельзя косвенно присваивать значение bool для webrequest.
Спасибо

21 Авг 2019 в 07:08
179 +1
0
Ответы
1

Для получения значения Bool из WebRequest вам необходимо сначала прочитать ответ от сервера и проверить его содержимое. Например, если сервер возвращает строку "true" или "false", то вы можете сравнить эту строку с соответствующими значениями для получения Bool.

Пример кода для проверки ответа от сервера и получения Bool значения:

private void SubmitData()
{
try
{
string user = login.Text;
string pass = password.Text;
ASCIIEncoding encoding = new ASCIIEncoding();
string postData = "login=" + user + "&password=" + pass;
byte[] data = encoding.GetBytes(postData);
WebRequest request = WebRequest.Create("https://site.ru/auth.php");
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = data.Length;
Stream stream = request.GetRequestStream();
stream.Write(data, 0, data.Length);
stream.Close();
WebResponse response = request.GetResponse();
stream = response.GetResponseStream();
StreamReader sr = new StreamReader(stream);
string responseString = sr.ReadToEnd();
sr.Close();
stream.Close();
bool isSuccess = responseString.Trim().Equals("true", StringComparison.OrdinalIgnoreCase);
if (isSuccess)
{
MessageBox.Show("Authentication successful");
}
else
{
MessageBox.Show("Authentication failed");
}
}
catch (Exception ex)
{
MessageBox.Show("Error: " + ex.Message);
}
}

В данном примере мы считываем ответ от сервера в переменную responseString, затем с помощью метода Trim() убираем лишние пробелы, и сравниваем полученную строку с "true" игнорируя регистр символов. В зависимости от результата сравнения выводим соответствующее сообщение.

20 Апр в 13:06
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 017 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир