Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/47: Рейтинг темы: голосов - 47, средняя оценка - 4.60
5 / 5 / 2
Регистрация: 21.12.2015
Сообщений: 14

Как отправить Https Get запрос?

02.12.2016, 13:12. Показов 10531. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую!
Требуется отправить следующий Get-запрос, который должен вернуть информацию о клиентах в json формате:

$ curl -s --header "X-Planado-API-Token: QEVuQwFAEABHl9uL2rE88jsUprbqt8+Cb9+2A4/ycixHUL7oarDoZckViiUX5Hxn3P0Kb2xf2r5=" https://rolpogo.planadoapp.com/api/v1/clients.json
С HTTPS ещё не работал. Прошу помощи. Стоит Embarcadero C++ XE7. Есть библиотека REST и есть Indy Clients. Можно ли с их помощью сформировать подобный запрос или потребуется какая-нибудь сторонняя библиотека наподобие libcurl?

В идеале, хотелось бы увидеть пример формы с TButton, по которой отправляется запрос и TMemo, в котором отображается ответ в json формате.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.12.2016, 13:12
Ответы с готовыми решениями:

Как отправить https запрос? (сокеты)
Собственно, есть обычный рабочий код, который вытаскивает страничку, но по http. Корректировал проверку, менял порт на 443, но бэдреквест...

Как отправить запрос по https, используя socket()?
Здраствуйте уважаемые знатоки C# технологий. После целого дня, потраченного на то чтобы запарсить один сайт.. я понял, что оказывается...

Как отправить POST или GET запрос на сайт, доступный только по протоколу HTTPS
День добрый, По протоколу HTTP когда получаю страницу все работает отлично, а когда протокол HTTPS запрос идет неправильный. Из...

5
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
02.12.2016, 13:30
Вот тут почитайте: IdHTTP и все, что только можно с ним сделать!
0
5 / 5 / 2
Регистрация: 21.12.2015
Сообщений: 14
02.12.2016, 16:26  [ТС]
Пробую сделать так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
  try
  {
    IdHTTP1->Request->RawHeaders->AddValue("X-Planado-API-Token", "QEVuQwFAEABHl9uL2rE88jsUprbqt8+Cb9+2A4/ycixHUL7oarDoZckViiUX5Hxn3P0Kb2xf2r5=");
    Memo1->Text = IdHTTP1->Get("https://rolpogo.planadoapp.com/api/v1/clients.json");
  }
  catch (EIdException &E)
  {
    ShowMessage("Ошибка:\n" + E.Message);
  }
}
В описании API написано так: "Для аутентификации в запросах используйте HTTP-заголовок X-Planado-API-Token:XXX".
Правильно ли я прописываю заголовок в IdHTTP1->Request->RawHeaders?

При нажатии на кнопку думает около 5 сек. и потом выдает ошибку (см. скриншот).
На форме лежит TIdHTTP связанный с TIdSSLIOHandlerSocketOpenSSL, а в папке с "exe" лежат обе libeay32.dll, ssleay32.dll версии 1.0.2.10.

Помогите разобраться.
Миниатюры
Как отправить Https Get запрос?  
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
04.12.2016, 18:01
А сервис-то вообще рабочий ?
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
04.12.2016, 18:05
Версия библиотек скорее всего не подходит.
https://www.cyberforum.ru/blog... .html#a_10
0
5 / 5 / 2
Регистрация: 21.12.2015
Сообщений: 14
05.12.2016, 12:19  [ТС]
Сервис рабочий, т.к. через linux коллеги удалось получить ответ на данный curl запрос.
Попробую с разными версиями ssl библиотек поиграться.

Добавлено через 2 часа 52 минуты
Перебрал около 30-ти различных версий ssl-библитотек. Не помогло. Наверное нужно как-то поднастроить TIdSSLIOHandlerSocketOpenSSL.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.12.2016, 12:19
Помогаю со студенческими работами здесь

Отправить https get запрос через сокеты
Сабж Юзаю : socket_create socket_connect socket_write socket_read Пытаюсь отправить https запрос (порт 443)

Отправить Https-запрос банку с использованием SSL
Здравствуйте! Мне нужно написать простой https-клиент, который делает 1 запрос тестовому серверу банка. С понятием Http запросов GET и...

Перехватить HTTPS запрос, изменить часть ссылки и отправить на сервер
Приветствую всех. Столкнулся с проблемой перехвата HTTPS запросов. Задача состоит в том что бы перехватить HTTPS запрос, изменить часть...

Отправить пост запрос по протоколу https формат xml на адрес и получить ответ
Нужно отправить пост запрос по протоколу https формат xml на адрес и получить ответ. Параметры запроса я получал из HTTPAnalyzerFullV7. У...

Как выполнить HTTPS GET запрос
HttpWebRequest requestq = (HttpWebRequest)WebRequest.Create("https://market.dota2.net/sell/"); requestq.UserAgent =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru