С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
0 / 0 / 0
Регистрация: 06.01.2020
Сообщений: 15

Как получить ответ от сервера?

22.02.2020, 19:09. Показов 3046. Ответов 11
Метки http, net (Все метки)

Студворк — интернет-сервис помощи студентам
Как мне получить ответ от сервера с помощью класса HttpResponseMessage ?
если мне надо не только код страницы, но все заголовки,версия хппт,статус кода, и т.д
пример:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
HTTP/1.1 200 OK
Server: nginx/1.14.2
Date: Sat, 22 Feb 2020 16:05:52 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Set-Cookie: PHPSESSID=mk3i9brgs3f35jo9j6cunf75uc; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
Content-Length: 801
 
 
<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Авторизация и регистрация</title>
    <link rel="stylesheet" href="assets/css/main.css">
</head>
<body>
 
<!-- Форма авторизации -->
 
    <form action="vendor/signin.php" method="post">
        <label>Логин</label>
        <input type="text" name="login" placeholder="Введите свой логин">
        <label>Пароль</label>
        <input type="password" name="password" placeholder="Введите пароль">
        <button type="submit">Войти</button>
        <p>
            У вас нет аккаунта? - <a href="/register.php">зарегистрируйтесь</a>!
        </p>
            </form>
 
</body>
</html>
P.S для отправки использую библиотеку ReqDotNet
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.02.2020, 19:09
Ответы с готовыми решениями:

Как получить ответ от сервера?
Здравствуйте. Принимаю запрос с сервера вот таким кодом : HttpWebRequest WReq = WebRequest.Create(&quot;https://csgo500.com&quot;) as...

Как получить ответ сервера при 401 ошибке в классе httpwebrequest?
при попытке авторизоваться в вк через апи сервер может попросить ввести капчу, тогда он выдает 401 ошибку и ответ с сылкой на капчу, как...

Программно авторизоваться на сайте и получить ответ сервера
добрый вечер. у меня возникла проблема, мне нужно программно авторизоваться на этом сайте free-lance.ru и получить ответ у сервера....

11
 Аватар для Bampo
114 / 82 / 37
Регистрация: 15.02.2020
Сообщений: 206
22.02.2020, 21:49
s1nus0, класс HttpResponseMessage содержит в себе свойства, со всеми нужными тебе атрибутами протокола HTTP
https://docs.microsoft.com/ru-... etcore-1.1
0
0 / 0 / 0
Регистрация: 06.01.2020
Сообщений: 15
22.02.2020, 21:59  [ТС]
Я смотрел эту документацию, но как её применить не знаю
не просто так создал тему в "C# для начинающих"
0
 Аватар для Bampo
114 / 82 / 37
Регистрация: 15.02.2020
Сообщений: 206
22.02.2020, 22:26
s1nus0, что то типа того:
C#
1
2
3
Requests r = new Requests();
...
HttpResponseMessage resp = await r.SendRequest();
по идее, после получения ответа в resp будут находиться свойства Headers, Content, StatusCode и прочее из документации, из которых можно все вытащить.
0
0 / 0 / 0
Регистрация: 06.01.2020
Сообщений: 15
22.02.2020, 23:11  [ТС]
Да выходят StatusCode, ReasonPhrase, Version, Headers
Но чтобы вывеси код страницы надо использовать

C#
1
string respo = await r.SendRequest().Result.Content.ReadAsStringAsync();
А также получается что отправляется 2 запроса из 1-го заголовки из 2-го код
как сделать чтобы было 1 запроса вдруг будут различатся
0
 Аватар для Bampo
114 / 82 / 37
Регистрация: 15.02.2020
Сообщений: 206
22.02.2020, 23:26
s1nus0, не отправляй два запроса
Все есть в resp из моего примера
0
0 / 0 / 0
Регистрация: 06.01.2020
Сообщений: 15
23.02.2020, 16:33  [ТС]
Вот что получаю из переменной "resp"
C#
1
2
3
4
5
6
7
8
9
10
11
12
StatusCode: 200, ReasonPhrase: 'OK', Version: 1.1, Content: System.Net.Http.StreamContent, Headers:
{
  Transfer-Encoding: chunked
  Connection: keep-alive
  Pragma: no-cache
  Cache-Control: no-store, must-revalidate, no-cache
  Date: Sat, 22 Feb 2020 20:17:39 GMT
  Set-Cookie: PHPSESSID=9ccngg4b4ftk9kjkkvfgr730sl; path=/
  Server: nginx/1.14.2
  Content-Type: text/html; charset=UTF-8
  Expires: Thu, 19 Nov 1981 08:52:00 GMT
}
0
 Аватар для Bampo
114 / 82 / 37
Регистрация: 15.02.2020
Сообщений: 206
23.02.2020, 16:39
Лучший ответ Сообщение было отмечено s1nus0 как решение

Решение

s1nus0, в resp есть свойство Content - отсюда получаешь html, Header - здесь список заголовков, StatusCode - и так понятно. Бери и пользуйся. Единственно, что, из Content нужно так вытягивать содержимое.
var html = await resp.Content.ReadAsStringAsync();
И вообще, пользуйся встроенным в студию дебаггером и смотри, в каком поле что находится.
1
0 / 0 / 0
Регистрация: 06.01.2020
Сообщений: 15
23.02.2020, 16:55  [ТС]
А если не сложно можешь сказать как к запросу добавить заголовков?
0
 Аватар для Bampo
114 / 82 / 37
Регистрация: 15.02.2020
Сообщений: 206
23.02.2020, 17:20
s1nus0, Через класс Request только те что передаются в публичные свойства. смотри исходник
https://github.com/AnErrupTion... equests.cs
0
0 / 0 / 0
Регистрация: 06.01.2020
Сообщений: 15
23.02.2020, 19:23  [ТС]
Реализовал так, но это не будет работать если надо будет добавить несколько заголовков
C#
1
2
3
4
5
public bool UseHeaders;
public string HeadersName;
public string HeadersData;
...
if (UseHeaders) req.Headers.Add(HeadersName, HeadersData);
Можно ли реализовать иначе?
знаю что можно добавлять до бесконечности, но это не удобно

Добавлено через 52 минуты
А тут ещё одна проблема в C# статус кода 200 и говорит всё "OK"
но в дебаггере говорит 302 и "Found" а также прикрепляет заголовок
"Location:" при правильной авторизации "../profile.php" если нет то "../index.php"
0
0 / 0 / 0
Регистрация: 06.01.2020
Сообщений: 15
23.02.2020, 19:39  [ТС]
Теперь мне стало ещё не понятней
Миниатюры
Как получить ответ от сервера?  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.02.2020, 19:39
Помогаю со студенческими работами здесь

Как получить ответ сервера,несмотря на 403 ошибку?
Собсно сабж,после некоего обновления на одном форуме при гет запросе(из программы) на форум выходит 403 ошибка(Forbidden(Запрещено)),...

Получить ответ от сервера
Что за команда в HttpWebRequest, при помощи которой можно узнать код ответа от сервера. По поводу HtmlAgilityPack. Если на странице...

Получить ответ от сервера
Добрый день! У меня возник еще один вопрос. Пишу программу которая авторизовывается на одном сайте. Заполняю HTTP заголовок так же, как...

Получить ответ сервера с помошью HttpWebResponse
Здравствуйте! Возможно, сказывается то, что уже даже не ночь и мозги не варят, но столкнулся с проблемой. У меня есть массив byte в...

Http сервер и клиент. При попытке получить ответ клиента от сервера ошибка: Поток был недоступен для чтения
Здравствуйте, пытаюсь разобраться с написанием клиент-серверного приложения используя сокеты. Написал в одном консольном проекте сервер: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru