powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Delphi + Yandex.Direct (HTTPS , POST, JSON)
20 сообщений из 20, страница 1 из 1
Delphi + Yandex.Direct (HTTPS , POST, JSON)
    #38440081
Radiance
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток!

Требуется установить защищенное соединение с проверкой сертификатов и шифрованием для отправки яндекс.директу POST запросов в формате JSON.


Запросы имеют подобный вид:

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
POST /json-api/v4/ HTTP/1.1
Host: api.direct.yandex.ru
Content-Length: 76
Content-Type: application/json; charset=utf-8

{
    "method": "GetClientInfo",
    "param": ["agrom"],
    "locale": "ru"
}




Прошу знающих людей помочь с реализацией. Гуглил, искал в куче тем, пробовал несколько дней - решения так и нет. За работающий код готов заплатить.

Windows 7 64bit , Delphi 7 (или Delphi XE4)
...
Рейтинг: 0 / 0
Delphi + Yandex.Direct (HTTPS , POST, JSON)
    #38440095
fd00ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Delphi + Yandex.Direct (HTTPS , POST, JSON)
    #38440176
Radiance
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за подсказку по поводу SuperObject , однако остаётся проблема с установкой SSL соединения с яндексом и отправкой POST запроса.

Пробовал использовать и Indy последних версий и Synapse - ничего не получается.


Есть у кого-нибудь работающий код?
...
Рейтинг: 0 / 0
Delphi + Yandex.Direct (HTTPS , POST, JSON)
    #38440193
fd00ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Radiance, у гугла. да у скульрушного поиска тоже
...
Рейтинг: 0 / 0
Delphi + Yandex.Direct (HTTPS , POST, JSON)
    #38440200
Radiance
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если бы он там был и в моей ситуации работал, я бы не писал тему новую. Я два дня уже в этих поисках роюсь.
...
Рейтинг: 0 / 0
Delphi + Yandex.Direct (HTTPS , POST, JSON)
    #38440213
j2me
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Яндекс.Диск + WinHTTP + https:// + WebDAV = работает
...
Рейтинг: 0 / 0
Delphi + Yandex.Direct (HTTPS , POST, JSON)
    #38440257
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RadianceСпасибо за подсказку по поводу SuperObject , однако остаётся проблема с установкой SSL соединения с яндексом и отправкой POST запроса.

Пробовал использовать и Indy последних версий и Synapse - ничего не получается.


Есть у кого-нибудь работающий код?

Так и написано в тексте ошибки: "Не получается"
...
Рейтинг: 0 / 0
Delphi + Yandex.Direct (HTTPS , POST, JSON)
    #38440261
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и все сразу достали свои хрустальные шары и начали отгадывать, что именно и как ты там что отправлял и подключал, что использовал, какие компоненты и dll
...
Рейтинг: 0 / 0
Delphi + Yandex.Direct (HTTPS , POST, JSON)
    #38440265
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
youtube.com/watch?v=0WXljJoFmqQ !!!
...
Рейтинг: 0 / 0
Delphi + Yandex.Direct (HTTPS , POST, JSON)
    #38440279
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Radiance...Пробовал использовать и Indy последних версий и Synapse - ничего не получается...
Нужно пробовать не менее трех раз.
...
Рейтинг: 0 / 0
Delphi + Yandex.Direct (HTTPS , POST, JSON)
    #38440335
Radiance
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, IdIOHandler,
  IdIOHandlerSocket, IdIOHandlerStack, IdSSL, IdSSLOpenSSL, IdBaseComponent,
  IdComponent, IdTCPConnection, IdTCPClient, IdHTTP;

type
  TForm1 = class(TForm)
    IdHTTP1: TIdHTTP;
    IdSSLIOHandlerSocketOpenSSL1: TIdSSLIOHandlerSocketOpenSSL;
    Memo1: TMemo;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
PostData:TStringList;
html:WideString;
begin
try
PostData:=TStringList.Create;
PostData.Clear;
PostData.Add(Utf8Encode('"method" : "GetClientInfo"'));
PostData.Add(Utf8Encode('"param":"spit-malish",'));
PostData.Add(Utf8Encode('"locale":"ru"'));
PostData.Add(Utf8Encode('"login":"spit-malish",'));
PostData.Add(Utf8Encode('"application_id":"тут_код_моего_приложения"'));
PostData.Add(Utf8Encode('"token":"тут_токен_моего_приложения"'));
IdSSLIOHandlerSocketOpenSSL1 := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
IdSSLIOHandlerSocketOpenSSL1.Destination := IdHTTP1.Request.Host;
IdSSLIOHandlerSocketOpenSSL1.Host := IdHTTP1.Request.Host;
IdSSLIOHandlerSocketOpenSSL1.Port := 443;
IdSSLIOHandlerSocketOpenSSL1.DefaultPort := 0;
IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Method := sslvSSLv2;
IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Mode := sslmUnassigned;
IdHTTP1.Connect;
if IdSSLIOHandlerSocketOpenSSL1.Connected then Showmessage('connected');

IdHTTP1.Request.ContentLength:=PostData.Count;
IdHTTP1.Post('https://api.direct.yandex.ru/v4/json',PostData);
PostData.Free;
except
on e:Exception do
PostData.Free;
end;
Memo1.Text:=IdHTTP1.Response.ResponseText;
end;

end.




Вот этот код не работает (ничего не происходит и не отправляется, если отправку производить на https. на http работает).

Компоненту IdSSLIOHandlerSocketOpenSSL1 заданы корректные файлы ключа и сертификата.

Delphi XE4
...
Рейтинг: 0 / 0
Delphi + Yandex.Direct (HTTPS , POST, JSON)
    #38440339
fd00ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Radianceкорректные файлы ключа и сертификата.а что, яндексу они нужны?
...
Рейтинг: 0 / 0
Delphi + Yandex.Direct (HTTPS , POST, JSON)
    #38440349
Radiance
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
fd00ch, да, нужны, если верить документации директа.

Цитата: "Для установки SSL-соединения необходимы файлы cert.crt и private.key"

http://api.yandex.ru/direct/doc/concepts/auth-cert.xml
...
Рейтинг: 0 / 0
Delphi + Yandex.Direct (HTTPS , POST, JSON)
    #38440359
Radiance
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос остается открытым. Тому кто предложит работающий код для установки SSL соединения и передачи POST - запросов обещаю премию не менее 1000-1500 рублей (точный размер зависит от того, насколько будет удобно при помощи этого кода потом отправлять большие json запросы).

Премию перечислю на мобильный, либо иным электронным переводом. Моя почта el-radiance@bk.ru. Если вопрос будет закрыт - отпишусь здесь.
...
Рейтинг: 0 / 0
Delphi + Yandex.Direct (HTTPS , POST, JSON)
    #38440587
Radiance
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Решение найдено, спасибо fd00ch
...
Рейтинг: 0 / 0
Delphi + Yandex.Direct (HTTPS , POST, JSON)
    #38440617
fd00ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
всегда пожалуйста))
...
Рейтинг: 0 / 0
Delphi + Yandex.Direct (HTTPS , POST, JSON)
    #38599145
iant71
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну если не трудно, может и нам скажете о решение?
Спасибо
...
Рейтинг: 0 / 0
Delphi + Yandex.Direct (HTTPS , POST, JSON)
    #38599170
figli
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
провангую - не было доступных для приложения libeay и ssleay
...
Рейтинг: 0 / 0
Delphi + Yandex.Direct (HTTPS , POST, JSON)
    #38601154
iant71
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
figliпровангую - не было доступных для приложения libeay и ssleay

Т.е если есть эти dll, то все должно работать? Используем SuperObject или synapse ?

Мне тоже надо отправлять на https запросы " GET ", " POST ", где входные данные должны быть в формате JSON ...
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Delphi + Yandex.Direct (HTTPS , POST, JSON)
    #39865181
Mr Robot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
libeay32.dll и ssleay32.dll рядом с программой
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Delphi + Yandex.Direct (HTTPS , POST, JSON)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]