Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Продвижение и оптимизация сайтов > В чём отличие клиента HTTPS от клиента HTTP?


Автор: erslgoeirjh 17.2.2006, 14:26
Мне нужно написать клиент HTTPS, который бы отправлял и принимал файлы с HTTPS сервера. Как создавать клиента простого HTTP, я знаю.
В чём отличия между клиентами этих двух протоколов? Особенно меня интересует команда POST.

Автор: Sun 17.2.2006, 15:43
Отличие в том - что HTTPS это протокол шифрованный при помощи SSL. Соответственно для https запросы и ответы передаются в зашифрованом виде. Принцип шифрации построен на использовании открытых и приватных ключей (SSL сертификатов). Самому реализовать HTTPS протокол занятие недетское. Лучше использовать готовые библиотеки. Посмотри к примеру
http://www.openssl.org/

Автор: erslgoeirjh 17.2.2006, 17:34
Sun, с криптопровайдером я разобрался. У меня такой вопрос: если я хочу принять файл с сервера с помощью WinInet, то что мне надо будет изменить по сравнению с обычным сервером HTTP? И как мне передать файл на сервер?

Автор: Sun 17.2.2006, 19:14
Я так понял ты используешь MFC? Тогда тебе в методе CHttpConnection::OpenRequest последний параметр dwFlags установить в INTERNET_FLAG_SECURE
Цитата

INTERNET_FLAG_SECURE - Uses secure transaction semantics. This translates to using SSL/PCT and is only meaningful in HTTP requests 

не знаю или этого будет достаточно, но попробовать можно

Может тебе поможет эта ссылка
http://support.microsoft.com/default.aspx?scid=kb;en-us;168151

Автор: erslgoeirjh 20.2.2006, 14:38
Sun, спасибо за ссылку.

У меня ещё такой вопрос: есть HTTPS-сервер, в котором по определённому URL находится страница, откуда скачивается файл. Как мне сделать так, чтобы в программе запускался броузер, но после открытия этой страницы не было бы диалога о сохранении файла, но вместо этого средствами WinInet этот файл сохранялся в определённой директории на пользовательском компьютере? (Пользователь не должен знать, куда сохраняется файл на его компьютере).

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)