![]() |
Модераторы: feodorv |
![]() ![]() ![]() |
|
east |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 22.5.2006 Репутация: нет Всего: 1 |
Подскажите пожалуйста ресурсы по этой теме.Нужно написать https клиент который посылает xml запросы на сервер и получает xml ответы.До этого никогда не программировал для интернета, поэтому нужна информация по-подробней.
|
|||
|
||||
SenkraD |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 3.2.2006 Где: Украина::Киев Репутация: 1 Всего: 23 |
у мя есть код на шарпе. Хоч вывешу.
|
|||
|
||||
east |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 22.5.2006 Репутация: нет Всего: 1 |
А на С++. Хотя за не именеем кухарки довольствуются дворником. Давай. Желательно описание библиотек на русском.
|
|||
|
||||
SenkraD |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 3.2.2006 Где: Украина::Киев Репутация: 1 Всего: 23 |
Сори - забыл проверить тему.
Тебе потом надо принятые данные надо вывести в браузер Или те надо отослать http-запрос и принять, а потом что парсить, это раз. Во вторых какая платформа Windows/Unix? P.S. дай ответ сегодня до часиков 9 вечера, тогда мож код с шарпа на С++ переведу и утром в часиков 7 вывешу. |
|||
|
||||
east |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 22.5.2006 Репутация: нет Всего: 1 |
Наконец попал в сеть.
платформа Windows обычные странички скачиваю, но мне нужно отослать https-запрос и получить ответ, ответ потом обрабатывается по своему. всё делается в программе никаких броузеров |
|||
|
||||
SenkraD |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 3.2.2006 Где: Украина::Киев Репутация: 1 Всего: 23 |
Привет.
В принципе вот недавно написал два классика (они не претендуют на роль лучшей реализации), но строки жмут. Да, ещё одна мелочь, я щас пишу прогу на Builder поэтому там заюзан местами класс String поэтому если ты работаеш под Visual C++ придётся подправить. Вот пример использования кода (я там щас лишнее не убирал - переменные класса и всё такое). будет что-то не понятно спрашивай
Там где #include "Global.h", нуно будет вставить и возможно что-то ещё (нету времени искать)
Это сообщение отредактировал(а) SenkraD - 23.4.2007, 10:31 Присоединённый файл ( Кол-во скачиваний: 22 ) ![]() |
||||
|
|||||
Goganchic |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 678 Регистрация: 18.6.2004 Репутация: нет Всего: 5 |
Попробуй использовать библиотеку OpenSSL, она позволяет создать HTTPS соединение и работать с ним как с обычным сокетом, т.е. читать, писать и т.п.
|
|||
|
||||
east |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 22.5.2006 Репутация: нет Всего: 1 |
Спасибо. Однако по ходу разница между Builder и Visual существенна. Я использовал WinInet, пака не получается. Обычные странички скачиваю, а с использованием SSL ответа не получаю. Подскажите ресурсы по OpenSSL.
|
|||
|
||||
SenkraD |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 3.2.2006 Где: Украина::Киев Репутация: 1 Всего: 23 |
east, замени тип String на CString или char* и будет оно под студией работать.
(Он изначально писался под ней). Я бы вывесил да я их нечаяно удалил, а переделать времени нету |
|||
|
||||
Goganchic |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 678 Регистрация: 18.6.2004 Репутация: нет Всего: 5 |
||||
|
||||
east |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 22.5.2006 Репутация: нет Всего: 1 |
Спасибо. Буду пробовать. Если-что, ещё обращусь.
|
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: нет Всего: 484 |
Для https нужно указать следующие флаги INTERNET_FLAG_RELOAD INTERNET_FLAG_SECURE INTERNET_FLAG_IGNORE_CERT_CN_INVALID INTERNET_FLAG_IGNORE_CERT_DATE_INVALID Если после этого HTTPSendRequest вернёт неудачу, проверь GetLastError. Если там ERROR_INTERNET_INVALID_CA (кривой сертификат), то смотри солюшен в MSDN - там 2 примера кода, как это проигнорировать: можно с диалогом (InternetErrorDlg), а можно тихо (InternetSetOption). Ну, то что порт и префикс должны быть прописаны правильно - эт думаю само собой понятно. Добавлено через 6 минут и 52 секунды Вот общая схема отправки запроса http://support.microsoft.com/kb/168151 Но отдельно нужно смотреть, если сертификат может быть просроченным, неподписанным и т.п. Как правило подписанные сертификаты внутри сети не используют. Поэтому приходится немного поплясать с бубном. Если сертификат нормальный, то пройдёт всё гладко и по стандартной схеме. |
|||
|
||||
GremlinProg |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 1 Всего: 106 |
А кто-нибудь разбирался с SSL на сокет-уровне? Интересует "низкая" реализация протокола, соответственно с использованием SSL-порта 443 и криптованием, с использованием апешки "CryptoAPI", т.е. пишем и читаем непосредственно в сокет, принимаем сертификаты тоже через сокет, без WinInet. Если есть готовые простые схемы (без частной реализации, т.е. ни чего лишнего, только SSL), выложите пожалуйста. В инете много информации, но она более, чем абстрактная, здесь нужны более конкретные структуры хотя бы по MAC- пакету и HELLO- сообщениям.
Добавлено через 5 минут и 7 секунд выкладывайте, пожалуйста, только рабочие вещи. По теории, оно гладко и понятно, а на практике - не всегда. Добавлено через 9 минут и 56 секунд или не совсем рабочие, но хотя бы с минимальными коментариями по багам -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
east |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 22.5.2006 Репутация: нет Всего: 1 |
Наконец дошли руки опять до клиента.
Использую WinInet, ставлю флаги для https, получаю ответ с сервера
Что не так? |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: нет Всего: 484 |
404 - на сервере нет запрашиваемого файла.
Кривой урл просишь ![]() |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Сети | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |