![]() |
Модераторы: Snowy, Poseidon, MetalFan |
![]() ![]() ![]() |
|
Bibigon |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 11.2.2006 Репутация: нет Всего: нет |
Есть следующий пример кода JS, который хочу перевести на Delphi:
var xmlhttp = Server.CreateObject ("MSXML2.ServerXMLHTTP"); xmlhttp.setOption(3, 'option'); xmlhttp.open('POST', 'https://blabla.ru/page.asp', false); xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); xmlhttp.send(data); =========================================================== Дельфи : var hOpen, hConnect, hRequest: hInternet; begin hOpen := InternetOpen('test', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0); hConnect := InternetConnect(hOpen, pchar('blabla.ru'), 80 , '', '',INTERNET_SERVICE_HTTP, 0, 0); hRequest := HttpOpenRequest(hConnect, 'POST', pchar('page.asp'), HTTP_VERSION, '', nil, INTERNET_FLAG_SECURE, 0); HttpSendRequest(hRequest, 'Content-Type: application/x-www-form-urlencoded', 47, PChar(data), Length(data)) ; .... Не могу понять как перевести xmlhttp.setOption(3, 'option'); Заранее спасибо. |
|||
|
||||
ecspertiza |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: нет Всего: 5 |
вопрос в том что тебе конкретно надо сделать, setOption насколько я понимаю, задает какието параметры, может тебе эта строка и вовсе не понадобится, да и тем более, переводить код это ужас, уже давно есть готовые примеры, тебе вроде отправка данных нужна.
вот эту функцию я использовал для отправки файла по HTTPS тебе нада поменять INTERNET_DEFAULT_HTTPS_PORT на INTERNET_DEFAULT_HTTP_PORT с параметрами я думаю разберёшся |
|||
|
||||
Bibigon |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 11.2.2006 Репутация: нет Всего: нет |
xmlhttp.setOption(3, 'option');
Это поле связано с сертификатом для SSL. Что писать в нем для Delphi я и пытаюсь понять. |
|||
|
||||
ecspertiza |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: нет Всего: 5 |
так тебе надо данные передать по SSL?
Насколько я знаю протокол SSL передается по таму же порту что и Https, значит пример остается верным т.к. использовался для передачи по Https. а сертификаты задаются вот в этой строке. hResourceHandle:=HttpOpenRequest(hConnectHandle, 'POST', szPath, HTTP_VERSION, nil, nil, INTERNET_FLAG_RELOAD or INTERNET_FLAG_SECURE or INTERNET_FLAG_IGNORE_CERT_CN_INVALID or INTERNET_FLAG_IGNORE_CERT_DATE_INVALID, 0); конкретно: NTERNET_FLAG_RELOAD or INTERNET_FLAG_SECURE or INTERNET_FLAG_IGNORE_CERT_CN_INVALID or INTERNET_FLAG_IGNORE_CERT_DATE_INVALID а поточнее узнать тебе поможет google, там про WinInet, до фига всего правда примеры в основном на C++. Добавлено через 5 минут и 10 секунд INTERNET_FLAG_CACHE_IF_NET_FAIL Получает ресурс из кэша, если он недоступен в Internet. INTERNET_FLAG_KEEP_CONNECTION Флаг сохранения настроек авторизации на протяжении подключения. INTERNET_FLAG_NEED_FILE Кэширует файл или создаёт временный файл для получаемого ресурса. INTERNET_FLAG_PRAGMA_NOCACHE Считывает данные с нужного сервера, минуя кэш прокси-сервера. INTERNET_FLAG_RELOAD Считывает данные с сервера, а не из кэша системы. вот описание некоторых флагов. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Сети" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Сети | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |