Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Интернет и сети
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 12.03.2020, 18:31
pikabu pikabu вне форума
Прохожий
 
Регистрация: 27.12.2017
Сообщения: 30
Версия Delphi: 10.1
Репутация: 10
По умолчанию API сайта

Добрый вечер, направьте на путь истинный, уже два дня мучаюсь.
ТЗ:
Есть сайт (crm система), там присутствует свой API.
Документации мало, но она есть https://support.holyhope.ru/knowledg...6709?sid=42435

Пытаюсь через idhttp получить get запрос, в том числе указывая токен
Код:
JsonMemo.Text := IdHTTP1.Get('https://blalbalba.t8s.ru//Api/V2/GetStudents'+'authkey=y2Wi7ULL3rbcGE9FMe9HBY/Uh/ZWU9T9cExUNl7+MZe9wPzP6bm1oYM1uPuUyuSX');
И либо лыжи не едут, либо я ... токен не туда сую, без предупреждения.
Результат запроса, ответ от сервера - ошибка 500.
Поправьте в какую сторону копать.
Ответить с цитированием
  #2  
Старый 12.03.2020, 18:55
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,054
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

По моему что-то потеряно при формировании URL. Например '?' между адресом и параметром.
Ответить с цитированием
  #3  
Старый 12.03.2020, 19:11
pikabu pikabu вне форума
Прохожий
 
Регистрация: 27.12.2017
Сообщения: 30
Версия Delphi: 10.1
Репутация: 10
По умолчанию

Не помогает.
Если смотреть через
Код:
idHttp1.Response.RawHeaders.GetText ;

ответ идет:
Код HTML:
Cache-Control: private Content-Type: text/html; charset=windows-1251 Server: Microsoft-IIS/10.0 X-AspNetMvc-Version: 5.2 X-AspNet-Version: 4.0.30319 Set-Cookie: .ASPXAUTH=; expires=Mon, 11-Oct-1999 20:00:00 GMT; path=/; HttpOnly X-Powered-By: ASP.NET Date: Thu, 12 Mar 2020 16:07:00 GMT Content-Length: 1201
Ответить с цитированием
  #4  
Старый 12.03.2020, 23:01
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,054
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Значит токен и, возможно, некоторые дополнительные значения должны передаваться не в строке адреса, а через параметры запроса. Кстати, возможно токен это не то, что должно передаваться (ну тот, который приведен в запросе). Возможно на основе токена, точнее ключа, имени запрошенного сервися и текущего времени должен быть расчитан специальный токен для конкретного вызова (так сделано в AWS).

Кстати, в доке написано, что AddStudyRequest не требует ключа. Потренируйся на этом запросе для начала.
Ответить с цитированием
  #5  
Старый 17.03.2020, 05:39
pikabu pikabu вне форума
Прохожий
 
Регистрация: 27.12.2017
Сообщения: 30
Версия Delphi: 10.1
Репутация: 10
По умолчанию

В поддержке говорят, что не применен urlencode, собстно как его применить?
Ответить с цитированием
  #6  
Старый 18.03.2020, 22:19
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,054
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

для простоты попробуй функцию, приведенную здесь: https://marc.durdin.net/2012/07/indy...code-and-more/
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 05:39.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter