Форум программистов, компьютерный форум, киберфорум
C++: Сети
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/34: Рейтинг темы: голосов - 34, средняя оценка - 4.94
8 / 8 / 4
Регистрация: 14.05.2010
Сообщений: 133

Авторизация на сервере POST и GET методами

29.12.2016, 16:28. Показов 6713. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!

Опишу задачу:
Мне нужно подключиться к серверу (им выступает видеокамера). В IE выглядит следующим образом: ввожу IP, вылезает окно под названием "Безопасность Windows" (скриншот прилагается "Безымянный").

Решение:
Рассчитывал авторизоваться методом POST запроса но не тут-то было! (
При анализе данных в сниффере не вижу обращения к окну "Безопасность Windows" (смотри скриншот). А при подключении к серверу, в заголовках вижу, что отправляется GET запрос с открытым логином и зашифрованным паролем.

Закономерный вопрос. Как в таких случаях поступают и коннектятся к серверу средствами C++, поделитесь опытом?

PS. Для подключения использую WinInet.
Миниатюры
Авторизация на сервере POST и GET методами  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.12.2016, 16:28
Ответы с готовыми решениями:

Обновление объекта со static методами на удалённом сервере
Не могу обновить объект со static методами на удалённом сервере www.mycgiserver.com. Перезапись файла *.class ничего не даёт. ...

CGI: Как считывать информацию методами GET и POST?
Здравствуйте! Интересует разница между процессом считывания информации методами GET и POST. Как передается информация из формы и каким...

Получение параметров при отправке их Get и POST методами
есть форма по сабмиту вызывается перловый файл который должен получить параметры из формы. не мог бы кто-нибудь привести пример как это...

17
923 / 639 / 198
Регистрация: 08.09.2013
Сообщений: 1,693
29.12.2016, 23:26
Цитата Сообщение от kolya8920 Посмотреть сообщение
Закономерный вопрос. Как в таких случаях поступают и коннектятся к серверу средствами C++
Насколько я понял, здесь обычная http авторизация.
В случае, например, самой распространенной BASIC авторизации Сервер шлет в заголовке:
WWW-Authenticate: Basic realm="..."
Клиент в заголовке запроса (GET или POST не важно)
Authorization: Basic "строка логин:пароль в base64" (не шифруется)

Если у вас пароль зашифрован, возможно не basic а digest или еще что. В сниффере всё должно быть видно.
1
8 / 8 / 4
Регистрация: 14.05.2010
Сообщений: 133
30.12.2016, 00:27  [ТС]
Цитата Сообщение от gng Посмотреть сообщение
В сниффере всё должно быть видно.
Заголовки в сниффере следующие:
Hypertext Transfer Protocol
GET /home/monitoring.cgi HTTP/1.1\r\n
Accept: */*\r\n
Accept-Language: ru,en-US;q=0.7,en;q=0.3\r\n
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E)\r\n
Accept-Encoding: gzip, deflate\r\n
Host: **.**.**.**(МОЙ IP)\r\n
Connection: Keep-Alive\r\n
[truncated]Authorization: Digest username="admin",realm="H_00:16:20:20:20 :20",nonce="42c737f6445039ec3150e9ccf7d9 4509",uri="/home/monitoring.cgi",cnonce="409e31fe26231f1d f483d9474bd39bb7",nc=00000001,response=" a7f4469af3a87e446b204e0
\r\n
0
923 / 639 / 198
Регистрация: 08.09.2013
Сообщений: 1,693
30.12.2016, 09:44
Цитата Сообщение от kolya8920 Посмотреть сообщение
Authorization: Digest
Возможно, сервер предложил Basic или Digest, а клиент выбрал Digest.
Если так, можете выбрать Basic, чтобы попроще.
Если не хотите составлять заголовки вручную, можете воспользоваться библиотекой, напр. libcurl.
Qt тоже, скорее всего, поддерживает различные методы http авторизации, но здесь я не советчик.
1
8 / 8 / 4
Регистрация: 14.05.2010
Сообщений: 133
30.12.2016, 11:43  [ТС]
Загвоздка в том, что хочется разобраться, как реализовать доступ посредством функций WinInet. Не поверю, что такой возможности нет!
0
68 / 68 / 11
Регистрация: 28.12.2012
Сообщений: 471
30.12.2016, 19:38
InternetConnect() 4-5 параметры...
1
8 / 8 / 4
Регистрация: 14.05.2010
Сообщений: 133
30.12.2016, 21:16  [ТС]
Цитата Сообщение от SEGNET Посмотреть сообщение
4-5 параметры
Используются для FTP протокола. А у меня http.
0
Заблокирован
30.12.2016, 22:06
kolya8920, попробуйте
этот
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
GET /home/monitoring.cgi HTTP/1.1\r\n
Accept: */*\r\n
Accept-Language: ru,en-US;q=0.7,en;q=0.3\r\n
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E)\r\n
Accept-Encoding: gzip, deflate\r\n
Host: **.**.**.**(МОЙ IP)\r\n
Connection: Keep-Alive\r\n
Authorization: Digest username="admin",realm="H_00:16:20:20:20:20",nonce="42c737f6445039ec3150e9ccf7d94509",uri="http://home/monitoring.cgi",response="a7f4469af3a87e446b204e0"\r\n
 
    или так (заменив realm="secure area")
 
GET http://home/monitoring.cgi HTTP/1.1\r\n
Accept: */*\r\n
Accept-Language: ru,en-US;q=0.7,en;q=0.3\r\n
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E)\r\n
Accept-Encoding: gzip, deflate\r\n
Host: **.**.**.**(МОЙ IP)\r\n
Connection: Keep-Alive\r\n
Authorization: Digest username="admin",realm="secure area",nonce="42c737f6445039ec3150e9ccf7d94509",uri="http://home/monitoring.cgi",response="a7f4469af3a87e446b204e0"\r\n
заголовок, для вас важна строка "Authorization", если получится, обратите внимание какие строки указаны в "Authorization"
1
8 / 8 / 4
Регистрация: 14.05.2010
Сообщений: 133
30.12.2016, 23:50  [ТС]
Цитата Сообщение от malhaz Посмотреть сообщение
попробуйте
Спасибо, попробовать смогу только второго числа, но мне кажется, что ничего не выйдет. Т.к. при повторных попытках авторизации с помощью браузера в сниффере строка:
Authorization: Digest username="admin",realm="H_00:16:20:20:20 :20",nonce="42c737f6445039ec3150e9ccf7d9 4509",uri="http://home/monitoring.cgi",response="a7f4469af3a87e 446b204e0"\r\n,
а именно значения nonce и response, имеют иные значения. Т.е. меняются от запроса к запросу.
0
Заблокирован
31.12.2016, 00:25
kolya8920, да это грязный метод, вот вам сюда http://www.webdav.org/specs/rf... ementation и к примеру подключать openssl (библиотека).
1
8 / 8 / 4
Регистрация: 14.05.2010
Сообщений: 133
31.12.2016, 00:34  [ТС]
Спасибо. Обязательно попробую этот метод. О результатах отпишусь.
0
68 / 68 / 11
Регистрация: 28.12.2012
Сообщений: 471
31.12.2016, 08:46
У меня авторизац
Цитата Сообщение от kolya8920 Посмотреть сообщение
Используются для FTP протокола. А у меня http.
InternetConnect function
Opens an File Transfer Protocol (FTP) or HTTP session for a given site.
У меня авторизация проходила нормально... Ваш решать
1
8 / 8 / 4
Регистрация: 14.05.2010
Сообщений: 133
31.12.2016, 19:38  [ТС]
Цитата Сообщение от SEGNET Посмотреть сообщение
У меня авторизация проходила нормально
А у меня в памяти почему-то отложилось только FTP.
Тем не менее этот вариант я тоже пробовал, к сожалению не помогло.
1
68 / 68 / 11
Регистрация: 28.12.2012
Сообщений: 471
31.12.2016, 21:53
Цитата Сообщение от kolya8920 Посмотреть сообщение
А у меня в памяти почему-то отложилось только FTP.
Тем не менее этот вариант я тоже пробовал, к сожалению не помогло.
Я было испугался... Но работает. Конектюсь к роутеру в случае с неправильным паролем выдает 401. С правильным 200 OK.
Что примечательно если смотреть логи сниффера wireshark, то происходит две сессий, в первой сессий идет HTTP/1.0 401 Unauthorized, во второй 200 OK.
Привожу лог
GET / HTTP/1.1
User-Agent: WinInet Test
Host: 192.168.1.1
Connection: Keep-Alive
Authorization: Digest username="admin",realm="KEENETIC",nonce= "93659f6b3907d1cea38ef70ce811bbdb",u ri="/",cnonce="64f2681b1197b34774c711f911b59a 21",nc=00000001,algorithm=MD5,
response="991c2b8991e30d64fab25286a8aae9 20",qop="auth",opaque="5ccc069c403ebaf9f 0171e9517f40e41"

HTTP/1.0 200 OK
Server: GoAhead-Webs/2.08
Date: Sat Dec 31 21:42:47 2016
Pragma: no-cache
Cache-Control: no-cache
Content-Type: text/html;charset=UTF-8
1
8 / 8 / 4
Регистрация: 14.05.2010
Сообщений: 133
01.01.2017, 12:53  [ТС]
Спасибо SEGNET. Завтра будет возможность проверить Ваш вариант, обязательно попробую.
0
8 / 8 / 4
Регистрация: 14.05.2010
Сообщений: 133
02.01.2017, 14:17  [ТС]
Нет друзья ничего не выходит продолжаю получать ошибку
ERROR_INTERNET_CANNOT_CONNECT
12029
The attempt to connect to the server failed.
0
68 / 68 / 11
Регистрация: 28.12.2012
Сообщений: 471
02.01.2017, 14:34
Посмотри в снифере, как происходит обмен между видеокамерой и браузером. Сверяй со своими.
Покажи как коннектишься и что возвращает ошибку.
1
8 / 8 / 4
Регистрация: 14.05.2010
Сообщений: 133
03.01.2017, 18:52  [ТС]
Цитата Сообщение от SEGNET Посмотреть сообщение
Посмотри в снифере, как происходит обмен между видеокамерой и браузером.
Всем большое спасибо за уделенное время. Воспользовался методом SEGNET. Проблема была в ПРОКСЕ и КАСПЕРЫЧЕ, об этом я как-то и не подумал.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.01.2017, 18:52
Помогаю со студенческими работами здесь

Авторизация на сервере
Клиент-серверное приложение. Решили сделать на сервере авторизацию по логину-паролю. Мне не понятен сам механизм как это работает. Каков...

Авторизация на сервере
Здравствуйте! <html> <head> <title>Авторизация</title> </head> <?php $mylogin = 'admin'; $mypass = '123'; $mylogin2 =...

Авторизация на сервере
Гуру, посоветуйте... Есть МОЙ сайт. На нем МОЯ система авторизации написанная с нуля (куки+сессии). Через браузеры работает. ...

Авторизация на сервере
Здравствуйте. Возникла проблема с авторизацией на сервере. И так проблема. Есть сетевой адресс: \\10.87.10.10\\MyServer\\FolderWithFiles...

Авторизация на сервере
привет всем. никак не могу авторизироваться на сервере уже второй день. перепробовал кучу вариантов. вот код метода: public String...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru