Модераторы: Snowy, Poseidon, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> работа с https 
:(
    Опции темы
Том
Дата 1.3.2006, 10:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 25.2.2006

Репутация: нет
Всего: нет



Ребят, а вот в свойстве IdConnectionInterceptOpenSSL1->KeyFile необходимо указывать файл, с помощью которого создается ключ как я понял, в Delphi наверно (IdSSLIOHandlerSocket.KeyFile). Но как его создать? Я загрузил какой-то, а при Post'е выдается ошибка "Could not load key, check password". Как бы его создать правильно? Подскажите! smile


PM MAIL   Вверх
Snowy
Дата 1.3.2006, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



Если ты сервер пишешь, то у тебя должен быть свой keyfile.
Если клиента, то ничего туда грузить не нужно - ключ даст тебе сервер.
PM MAIL   Вверх
Том
Дата 1.3.2006, 10:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 25.2.2006

Репутация: нет
Всего: нет



ОК! Спасибо, теперь разобрался! Кстати пришлось сменить метод с sslvSSLv2 на sslvTLSv1 и все заработало! smile
PM MAIL   Вверх
N1k
Дата 1.3.2006, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 4.1.2006

Репутация: 2
Всего: 2



Когда-то столкнулся с такой же проблемой, нужно было получать данные по HTTPs. Хотел заюзать Indy с ее openssl. А потом подумал, если винда это делает, то значит у нее это все есть. С тех пор для ssl юзаю WinImet. Ни каких сторонних библиотек таскать за собой не нужно.Примеров достаточно, например, упоминавшийся здесь TIEHTTP а также EasyNet(там вообще все супер, использование WinInet на полную силу).

зы: кстати, никогда, ни в одном проекте, не использовал Indy(ну не нравится мне эти компоненты).Если что-то нужно пишу для себя сам.

PM MAIL   Вверх
Snowy
Дата 1.3.2006, 11:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



N1k, на вкус и цвет.
У WinInet тоже есть свои противопоказания.

Цитата(N1k @ 1.3.2006, 10:52 Найти цитируемый пост)
если винда это делает, то значит у нее это все есть.
Не факт. Только, если IE настроен. А если нет...
У меня опера. IE не настроен...
IE вообще может быть вырезан из системы.
PM MAIL   Вверх
Том
Дата 9.3.2006, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 25.2.2006

Репутация: нет
Всего: нет



Ребят, а я столкнулся вот еще с одной проблемой!

Пытаюсь передать запрос методом post со следующими параметрами:
url = "/cp/fe"
host = "dealer.e-port.ru"
port = 443

Подключил SSL. Сертификат есть. при попытке передать запрос выдаётся ошибка: "Error connecting with SSL"

По url например "https://dealer.e-port.ru/cp/oem" всё работает!

Пытаюсь передать запрос по url "https://dealer.e-port.ru/cp/fe", и получаю ошибку "412 Precondition Failed"!

Помогите кто-нибудь! smile
PM MAIL   Вверх
_hunter
Дата 9.3.2006, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 5
Всего: 98



что ты пытаешся передать? как запрос выглядит?
+ возьми любой сниффер и посмотри как это делает любой браузер -- сразу поймеш что не так делаеш...


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Том
Дата 9.3.2006, 11:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 25.2.2006

Репутация: нет
Всего: нет



Вот пример:

Код

X-Eport-Auth: point=38433; card="***"; pin="***"
Content-Type: text/plain; charset=Windows-1251
X-Eport-Version: dir=1024
X-Eport-Mode: 1
Content-Lengt: 128
OPERATION
id=122
checkid=122
product=4420
value=3.0000QTY
account=9165556677


Да дело то по-моему не в запросе, а в формате адреса! Указать его наверно нужно как то по другому!

Запрос на "https://dealer.e-port.ru/cp/oem" то работает!

А вот на хост dealer.e-port.ru, урл "/cp/fe" нет! Вот беда, не пойму почему!
PM MAIL   Вверх
_hunter
Дата 9.3.2006, 11:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 5
Всего: 98



если ты привел текст запроса -- он абсолютно не правильный...


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Том
Дата 9.3.2006, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 25.2.2006

Репутация: нет
Всего: нет



Так дело то не в нём! Хотя ошибки быть не должно, это стандартный запрос!

Вот пример в XML:
Код

<?xml version="1.0" ?>
<!DOCTYPE package PUBLIC "-//e-port//Eport Diler Message protocol 1.0.//EN" "http://dtd.e-port.ru/request.10.0.0dtd">
<package>
<header>
<time>09-03-2006 11:51:59</time>
<version>OEM/10.0.0</version>
<dir>123</dir>
<point>1</point>
<card>***</card>
<pin>***</pin>
</header>
<operation>
<id>123</id>
<hash>158352250</hash>
<time>09-03-2006 11:51:59</time>
<dir>123</dir>
<product>4420</product>
<account>
<value>9166854001</value>
</account>
<sum>1.0000</sum>
<total>29.90</total>
<interest>0.00</interest>
<qty>1.00</qty>
</operation>
</package>


Но дело в коннекте, так как
пост на урл "https://dealer.e-port.ru/cp/oem" обрабатывается!!!

а на хост "dealer.e-port.ru", урл "/cp/fe" нет!

Дело не в самом запросе, а в формате адреса или параметрах подключения, что я и не могу понять!

Это сообщение отредактировал(а) Том - 9.3.2006, 12:05
PM MAIL   Вверх
_hunter
Дата 9.3.2006, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 5
Всего: 98



а XML тут зачем?
+ какой он стандартный, если метод не указан? ты, похоже, под запросом что-то не то понимаеш.
++ в любом случае поставь сниффер.


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Strannic
Дата 24.8.2006, 10:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 14.9.2005
Где: Москва

Репутация: нет
Всего: нет



Тут про e-port был вопрос.
Вот ответ.

К приеру для получения курса валют достаточно выполнить:
Код

function TData.GetEPortRate : Boolean;

function GetFieldValue(AStr : String; AIndex : Integer) : Variant;
var j : Integer;
    s : String;
begin
  s := AStr;
  for j := 1 to AIndex do Delete(s, 1, Pos(#9, s));
  Delete(s, Pos(#9, s), Length(s));
  Result := s;
end;

var sprL : TStrings;
    s    : String;
begin
  Result := true;
  if( (E_PORT_POINT = old_E_PORT_POINT)and(RateUSD <> 0) )then Exit;
  Result := false;
  old_E_PORT_POINT := E_PORT_POINT;
  sprL := TStringList.Create;
  try
    IEHTTP.request_headers.Clear;
    IEHTTP.request_headers.Add('Content-type: text/plain; charset=Windows-1251');
    IEHTTP.request_headers.Add('Content-length: 0');
    IEHTTP.request_headers.Add('X-Eport-Auth: point='+E_PORT_POINT+'; card='+E_PORT_CARD+'; pin='+E_PORT_PIN);
    IEHTTP.ExecuteURL('https://dealer.e-port.ru/cp/dir');
    sprL.LoadFromStream(IEHTTP.result_ms);

    s := sprL[0];
    if( '+x' = Copy(s, 1, 2) )then RateUSD := GetFieldValue(s, 4);
    Result := RateUSD <> 0;
  finally
    sprL.Free;
  end;
end;



а для отправки данных
Код

function TData.SendPacked(APack : TOutParamsEPorts) : TInParamsEPorts;
begin
  Result := TStringList.Create;
  if( APack.Text = '' )then Exit;
  if( Length(APack.Text) = 3 )then APack.Text := '';
  try
    if( APack.Text = '' )then IEHTTP.postStr := ' '
      else IEHTTP.postStr := APack.Text;
    IEHTTP.request_headers.Clear;
    IEHTTP.request_headers.Add('Content-type: text/plain; charset=Windows-1251');
    IEHTTP.request_headers.Add('Content-length: ' + IntToStr(Length(IEHTTP.postStr)));
    IEHTTP.request_headers.Add('X-Eport-Auth: point='+E_PORT_POINT+'; card='+E_PORT_CARD+'; pin='+E_PORT_PIN);
    IEHTTP.ExecuteURL('https://dealer.e-port.ru/cp/fe');
    Result.LoadFromStream(IEHTTP.result_ms);
    if( IEHTTP.error <> 0 )then SendMsg('M', 'SendPacked1:'+IEHTTP.error_msg);
  except
    On E : Exception do SendMsg('M', 'SendPacked2:'+E.Message);
  end;
end;


компонетна выглядит следующим образом
Код

  object IEHTTP: TIEHTTP
    Timeout = 90
    BlockingMode = True
    RequestMethod = 'POST'
    MultipartPOST = False
    Left = 264
    Top = 120
  end


Вот в принципе и все. Пользуйтесь на здоровье.  smile 
PM MAIL   Вверх
ChaserHA
Дата 16.11.2006, 11:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 15.11.2006

Репутация: нет
Всего: 1



Кто-нибудь работал с MoneyMail или с E-Gold по HTTPS?
Что-то не получается получить оттуда данные (например запросу текущего по балланса с MoneyMail или проверка балланса на E-Gold).
Если у кого есть примеры работы с системами, прошу ответить, очень срочно требуется, ибо у меня что-то никак не выходит, хотя по идее делаю все правильно.
PM MAIL WWW   Вверх
familiar
Дата 13.6.2007, 22:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 13.6.2007

Репутация: нет
Всего: нет



Народ, помогите ламеру smile ... есть сайт... на котором формочка в которую нужно ввести номер и получить HTML страницу с информацией по этому номеру.... всё это по https с сертификатом... помогите оформить получение страницы с информацией на delphi, если формочка выглядит так:

</SCRIPT>
      <FONT color=#ff0000></FONT>
      <TABLE border=0>
        <TBODY>

        <TR>
          <TD vAlign=top align=left width=685>
            <DIV align=left><STRONG>Поиск абонента</STRONG></DIV>
            <FORM name=searchForm action=/searchDealer.do method=post>
            <P><EM><FONT color=#000099>Параметр поиска:</FONT></EM> <INPUT 
            name=parameter></P>
            <P><EM><FONT color=#000099>Тип параметра</FONT></EM> <INPUT 
            type=radio CHECKED value=1 name=parameterType>Телефон</P><INPUT type=submit value="Найти контракт"> 
            </FORM>

            <script language=JavaScript type=text/javascript>
  <!--
  var focusControl = document.forms["searchForm"].elements["parameter"];

  if (focusControl.type != "hidden" && !focusControl.disabled) {
     focusControl.focus();
  }
  // -->
</SCRIPT>


 smile 
С МЕНЯ ПИВО!!!!
PM MAIL   Вверх
Sanchezzz
Дата 14.6.2007, 22:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 1
Всего: 60



пиши в асю кажется я знаю как это реализовать.... 368619020


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0998 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.