|
1 / 1 / 1
Регистрация: 06.06.2009
Сообщений: 116
|
|
Отправить Https-запрос банку с использованием SSL14.07.2015, 15:05. Показов 7577. Ответов 17
Метки нет (Все метки)
Здравствуйте!
Мне нужно написать простой https-клиент, который делает 1 запрос тестовому серверу банка. С понятием Http запросов GET и POST я знаком, но тут тонкость именно в SSL. Где можно посмотреть примеры реализации Http запросов с использованием SSL (сертификат проверять не надо)? Очень не хочется изобретать велосипед... ![]() Спасибо!
0
|
|
| 14.07.2015, 15:05 | |
|
Ответы с готовыми решениями:
17
Как отправить https запрос? (сокеты) SSL и SMTP. Как из программы отправить себе письмо в свой ящик Как организуется защита канала HTTPS с использованием SSL сертификата? |
|
23 / 24 / 11
Регистрация: 04.12.2014
Сообщений: 422
|
|
| 14.07.2015, 15:43 | |
|
если язык программирования - c# то проблем в этом нет, что именно не получается? он не сниффиться?
0
|
|
|
1 / 1 / 1
Регистрация: 06.06.2009
Сообщений: 116
|
|
| 14.07.2015, 18:38 [ТС] | |
|
Программа должна быть написана на С. Проблема в том, что я не знаю, как накрутить SSL на обычный Http-запрос (например, GET). Програмка формирования Http-запроса не сложная, но цель задачи - именно сформировать Https-запрос, т.е. поднять SSL транспорт. Я не знаю, как это сделать, вот и прошу помощи.
0
|
|
|
Ушел с форума
|
|
| 14.07.2015, 19:36 | |
|
Можете использовать такие библиотеки:
WinInet/WinHTTP (являются частью Windows); Boost.Asio + OpenSSL libcurl и т.д.
0
|
|
|
1 / 1 / 1
Регистрация: 06.06.2009
Сообщений: 116
|
|
| 14.07.2015, 19:55 [ТС] | |
|
Как я понимаю, методология следующая. Вместо обычого открываю SSL-encrypted сокет и через него выполняю стандартные Http-запросы и получаю ответы. Вся SSL-обвертка мне не видна и работает автоматически внутри этого сокета?
0
|
|
|
Ушел с форума
|
|
| 14.07.2015, 20:03 | |
|
Это очень зависит от библиотеки, которую вы используете.
Но обычно различия между использованием TCP и TCP+TLS/SSL минимальны. В WinHTTP, например, достаточно указать один флаг при создании HTTP-сессии. В Boost.Asio создается "особый" сокет, но потом все почти так же, как и в случае с "обычным" сокетом. С "голым" OpenSSL сложнее, там придется вручную контролировать все детали TLS/SSL-соединения, зато будет полный контроль, вплоть до выбора алгоритмов шифрования, длины ключей, протоколов обмена и т.п.
0
|
|
|
1 / 1 / 1
Регистрация: 06.06.2009
Сообщений: 116
|
|
| 14.07.2015, 20:14 [ТС] | |
|
Какую библиотеку порекомендуете? Главное условие: программа клиента должна быть написана на С (не С++), ну и желательно максимально простая в использовании, на данном этапе высокая функциональность не нужна, нужна только демонстрация принципа.
0
|
|
|
Ушел с форума
|
||
| 14.07.2015, 20:38 | ||
Сообщение было отмечено YuryD как решение
РешениеЕсли особых требований нет, я бы предпочел WinInet или WinHttp. Для того, чтобы отправить запрос, HTTP или HTTPS, в WinInet достаточно вызвать функции InternetOpen, InternetConnect, затем HttpOpenRequest и HttpSendRequest, после этого ответ сервера вычитывается серией вызовов InternetReadFile. Все достаточно просто, если не сказать элементарно, причем код на 99% идентичный для HTTP и HTTPS. Дополнительные опции, например проверку серверного сертификата, установку таймаутов и т.п., можно выставить с помощью InternetSetOption. Ну и вот: Введение в WinInet https://rsdn.ru/article/inet/wininet.xml
1
|
||
|
1 / 1 / 1
Регистрация: 06.06.2009
Сообщений: 116
|
|
| 14.07.2015, 20:46 [ТС] | |
|
Спасибо за развернутый ответ! А WinInet предпочтительней, чем WinHttp?
0
|
|
|
Ушел с форума
|
|
| 14.07.2015, 20:50 | |
|
Да. Смотрите сравнительную таблицу здесь:
WinInet vs. WinHTTP https://msdn.microsoft.com/en-... 85%29.aspx Но если работать с сетью нужно из неинтерактивного приложения, например из службы, тогда предпочтительнее WinHTTP (у WinInet в этом плане ограничения).
0
|
|
|
1 / 1 / 1
Регистрация: 06.06.2009
Сообщений: 116
|
|
| 14.07.2015, 21:08 [ТС] | |
|
А эта библиотека есть в VC2008/10 или GCC? Или ее надо отдельно устанавливать (как, например, OpenSSL)?
0
|
|
|
Ушел с форума
|
|
| 14.07.2015, 21:35 | |
|
Эта библиотека, как и WinHTTP, является частью Windows.
Ничего устанавливать не нужно, просто подключайте заголовок WinInet.h (и еще WinInet.lib) и пользуйтесь.
0
|
|
|
1 / 1 / 1
Регистрация: 06.06.2009
Сообщений: 116
|
||
| 14.07.2015, 22:33 [ТС] | ||
|
1. Microsoft SDKs\Windows\v7.0A 2. Microsoft SDKs\Windows\v7.1A 3. Windows Kits\8.0 Откуда порекомендуете подключать? P.S. В wxDev-C++ все проще, там все в одном экземпляре.
0
|
||
|
Ушел с форума
|
||||||
| 14.07.2015, 22:41 | ||||||
|
А Visual Studio установлена ?
Вот там создаете проект, пишете:
0
|
||||||
|
1 / 1 / 1
Регистрация: 06.06.2009
Сообщений: 116
|
|||
| 14.07.2015, 22:50 [ТС] | |||
|
0
|
|||
|
1 / 1 / 1
Регистрация: 06.06.2009
Сообщений: 116
|
||
| 14.07.2015, 23:27 [ТС] | ||
|
0
|
||
|
|
|
| 14.07.2015, 23:42 | |
|
На данный момент приблизительно так:
Библиотека libcurl в С++ для работы по HTTP - тут правда под С++, но есть ссылки на доку.
1
|
|
| 14.07.2015, 23:42 | |
|
Помогаю со студенческими работами здесь
18
Как отправить Https Get запрос? Отправить https get запрос через сокеты Как отправить запрос по https, используя socket()? Перехватить HTTPS запрос, изменить часть ссылки и отправить на сервер
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
*/
#include <iostream>
#include <stack>
#include <cctype>. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|